
   /* ============================================================
   LOADER
   ============================================================ */
#loader {
    position: fixed;
    inset: 0;
    background: var(--bg-0);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#loader-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.loader-text {
    position: relative;
    z-index: 2;
     font-family: 'DM Serif Display', serif;
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    font-weight: 800;
    letter-spacing: 0.05em;
    opacity: 0;
    background: linear-gradient(135deg, var(--mint) 50%, var(--emerald) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.loader-sub {
    position: relative;
    z-index: 2;
    font-size: 0.85rem;
    color: var(--blue-light);
    opacity: 0;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    margin-top: 0.6rem;
}

.loader-bar {
    position: relative;
    z-index: 2;
    width: 220px;
    height: 2px;
    background: var(--glass-border);
    margin-top: 2.5rem;
    border-radius: 2px;
    overflow: hidden;
}

.loader-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--mint), var(--emerald));
    width: 0%;
    border-radius: 2px;
    box-shadow: 0 0 14px var(--blue-glow);
}

    /* =========================================================
     CSS CUSTOM PROPERTIES
  ========================================================= */
    :root {
      --vault-green: #59B886;
      --mint: #A7E2C4;
      --emerald: #3F9C72;
      --deep-emerald: #2A6B4E;
      --glow: rgba(89, 184, 134, 0.18);
      --glow-strong: rgba(89, 184, 134, 0.35);

      /* Dark theme (default) */
      --bg-0: #050505;
      --bg-1: #0B0F0D;
      --bg-2: #101614;
      --bg-3: #141A17;
      --surface: rgba(255, 255, 255, 0.114);
      --surface-hover: rgba(89, 184, 134, 0.08);
      --border: rgba(89, 184, 133, 0.356);
      --border-hover: rgba(89, 184, 134, 0.35);
      --text-primary: #F0F5F2;
      --text-secondary: rgba(240, 245, 242, 0.895);
      --text-muted: rgb(240, 245, 242);
      --navbar-bg: rgba(5, 5, 5, 0.85);
    }

    [data-theme="light"] {
      --bg-0: #ffffff;
      --bg-1: #F7FAF8;
      --bg-2: #EFF5F1;
      --bg-3: #E8F2EC;
      --surface: rgba(89, 184, 134, 0.06);
      --surface-hover: rgba(89, 184, 134, 0.1);
      --border: rgba(63, 156, 114, 0.285);
      --border-hover: rgba(63, 156, 114, 0.4);
      --text-primary: #0D1A13;
      --text-secondary: rgba(13, 26, 19, 0.65);
      --text-muted: rgb(13, 26, 19);
      --navbar-bg: rgba(255, 255, 255, 0.92);
      --glow: rgba(89, 184, 134, 0.1);
      --glow-strong: rgba(89, 184, 134, 0.2);
    }

    /* =========================================================
     RESET & BASE
  ========================================================= */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    body {

      font-family: 'Inter', sans-serif;
      background: var(--bg-0);
      color: var(--text-primary);
      overflow-x: hidden;
      line-height: 1.6;
      transition: background 0.3s, color 0.3s;
    }

    /* =========================================================
     TYPOGRAPHY
  ========================================================= */
    .display {
      font-family: 'DM Serif Display', serif;
    }

    h1,
    h2 {
      font-family: 'DM Serif Display', serif;
      line-height: 1.15;
    }

    h1 {
      font-size: clamp(2.6rem, 5.5vw, 4rem);
      letter-spacing: -0.02em;
    }

    h2 {
      font-size: clamp(2rem, 3.8vw, 3.4rem);
      letter-spacing: -0.02em;
    }

    h3 {
      font-size: clamp(1.1rem, 1.8vw, 1.35rem);
      font-weight: 600;
    }

    p {
      font-size: 1.2rem;
      color: var(--text-secondary);
    }

    .eyebrow {
      font-size: 0.9rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--vault-green);
    }

    /* =========================================================
     UTILITIES
  ========================================================= */
    .container {
      width: 100%;
      max-width: none;
      margin: 4rem auto;
      padding: 0 65px;
    }

    @media (max-width: 960px) {
      .container {
        margin: 4rem auto;
        padding: 0 28px;
      }
    }

    @media (max-width: 640px) {
      .container {
        margin: 3rem auto;
        padding: 0 18px;
      }
    }

    @media (max-width: 380px) {
      .container {
        margin: 2.5rem auto;
        padding: 0 12px;
      }
    }

    .section {
      padding: 1rem 0;
    }

    .section-alt {
      background: var(--bg-1);
    }

    .green {
      color: var(--vault-green);
    }

    .italic {
      font-style: italic;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 13px 28px;
      border-radius: 100px;
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      border: none;
      text-decoration: none;
      letter-spacing: 0.02em;
      transition: box-shadow 0.3s, transform 0.2s, background 0.3s, border-color 0.3s, color 0.3s;
      white-space: nowrap;
    }

    .btn-primary {
      background: linear-gradient(135deg, var(--vault-green), var(--deep-emerald));
      color: #ffffff;
      box-shadow: 0 0 30px var(--glow), 0 4px 20px rgba(0, 0, 0, 0.2);
      animation: btn-glow 3s ease-in-out infinite;
    }

    @keyframes btn-glow {

      0%,
      100% {
        box-shadow: 0 0 30px var(--glow), 0 4px 20px rgba(0, 0, 0, 0.2);
      }

      50% {
        box-shadow: 0 0 55px var(--glow-strong), 0 4px 20px rgba(0, 0, 0, 0.2);
      }
    }

    .btn-primary:hover {
      transform: translateY(-2px);
      background: linear-gradient(135deg, var(--mint), var(--vault-green));
    }

    .btn-ghost {
      background: var(--surface);
      border: 1px solid var(--border-hover);
      color: var(--text-primary);
      backdrop-filter: blur(10px);
    }

    .btn-ghost:hover {
      color: var(--vault-green);
      border-color: var(--vault-green);
      background: var(--surface-hover);
      box-shadow: 0 0 20px var(--glow), inset 0 1px 0 rgba(167, 226, 196, 0.15);
      transform: translateY(-2px);
    }

    /* fade-up animation */
    .fade-up {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity 0.65s ease, transform 0.65s ease;
    }

    .fade-up.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* =========================================================
     NAVBAR
  ========================================================= */
    #navbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      padding: 3.2rem 4rem;
      /* padding: 0 24px; */
      background: var(--navbar-bg);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid rgb(83 175 127 / 27%);
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      transition: background 0.3s ease, transform 0.3s ease;
    }

    .nav-logo-wrap {
      width: 160px;
      height: 42px;
      position: relative;
      cursor: pointer;
      perspective: 600px;
    }

    .nav-logo-face {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
      transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .nav-logo-face img {
      height: 56px;
      width: auto;
      object-fit: contain;
    }

    .nav-logo-face.back {
      transform: rotateY(180deg);
    }

    .nav-logo-wrap.flipped .front {
      transform: rotateY(-180deg);
    }

    .nav-logo-wrap.flipped .back {
      transform: rotateY(0deg);
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      list-style: none;
    }

    .nav-links a {
      font-size: 0.88rem;
      font-weight: 500;
      color: var(--text-secondary);
      text-decoration: none;
      padding: 0.5rem 0.85rem;
      border-radius: 100px;
      border: 1px solid transparent;
      letter-spacing: 0.03em;
      white-space: nowrap;
      transition: color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.25s, border-color 0.3s;
    }

    .nav-links a:hover,
    .nav-links a.active {
      color: var(--vault-green);
      background: var(--surface-hover);
      border-color: var(--border-hover);
      box-shadow: 0 0 20px var(--glow), 0 0 8px rgba(89, 184, 134, 0.15), inset 0 1px 0 rgba(167, 231, 199, 0.15);
      transform: translateY(-2px);
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .theme-toggle {
      position: relative;
      width: 52px;
      height: 28px;
      cursor: pointer;
      flex-shrink: 0;
    }

    .theme-toggle input {
      display: none;
    }

    .theme-track {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 100px;
      background: var(--surface);
      border: 1.5px solid var(--border);
      position: relative;
      transition: background 0.3s, border-color 0.3s;
      overflow: hidden;
    }

    .theme-track::before {
      content: '☀️';
      position: absolute;
      left: 5px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 12px;
      line-height: 1;
      transition: opacity 0.3s;
      opacity: 0;
    }

    .theme-track::after {
      content: '🌙';
      position: absolute;
      right: 5px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 12px;
      line-height: 1;
      transition: opacity 0.3s;
      opacity: 1;
    }

    [data-theme="light"] .theme-track::before {
      opacity: 1;
    }

    [data-theme="light"] .theme-track::after {
      opacity: 0;
    }

    .theme-thumb {
      position: absolute;
      top: 3px;
      left: 3px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--vault-green), var(--deep-emerald));
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
      transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    [data-theme="light"] .theme-thumb {
      transform: translateX(24px);
    }

    /* =========================================================
     FLOATING BROCHURE CTA
  ========================================================= */
    .float-brochure-cta {
      position: fixed;
      right: 0;
      top: 50%;
      transform: translateY(-50%) translateX(0);
      z-index: 500;
      display: flex;
      flex-direction: column;
      align-items: center;
      cursor: pointer;
      text-decoration: none;
      transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    .float-brochure-cta:hover {
      transform: translateY(-50%) translateX(-6px);
    }

    .float-brochure-inner {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.75rem;
      padding: 1.2rem 0.65rem 1.4rem;
      background: linear-gradient(180deg, var(--vault-green), var(--deep-emerald));
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid var(--glow-strong);
      border-right: none;
      border-radius: 14px 0 0 14px;
      box-shadow: -4px 0 28px var(--glow-strong), -2px 0 12px rgba(89, 184, 134, 0.25), inset 0 1px 0 rgba(167, 226, 196, 0.2);
      position: relative;
      overflow: hidden;
      transition: box-shadow 0.35s, border-color 0.35s, background 0.35s;
    }

    .float-brochure-cta:hover .float-brochure-inner {
      border-color: var(--vault-green);
      box-shadow: -6px 0 45px var(--glow-strong), -2px 0 16px rgba(89, 184, 134, 0.4), inset 0 1px 0 rgba(167, 226, 196, 0.3);
      background: linear-gradient(180deg, var(--mint), var(--vault-green));
    }

    .float-brochure-inner::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(167, 226, 196, 0.14) 0%, transparent 50%);
      pointer-events: none;
    }

    .float-brochure-icon {
      width: 28px;
      height: 28px;
      color: #ffffff;
      flex-shrink: 0;
      transition: transform 0.3s;
      position: relative;
      z-index: 1;
    }

    .float-brochure-cta:hover .float-brochure-icon {
      transform: translateY(-3px) scale(1.12);
    }

    .float-brochure-label {
      writing-mode: vertical-rl;
      text-orientation: mixed;
      transform: rotate(180deg);
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #ffffff;
      line-height: 1;
      position: relative;
      z-index: 1;
      white-space: nowrap;
    }

    .float-brochure-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: rgba(6, 18, 13, 0.7);
      box-shadow: 0 0 8px rgba(6, 18, 13, 0.4);
      animation: pulse-brochure-dot 2s infinite;
      position: relative;
      z-index: 1;
    }

    @keyframes pulse-brochure-dot {

      0%,
      100% {
        opacity: 1;
        transform: scale(1);
      }

      50% {
        opacity: 0.3;
        transform: scale(0.7);
      }
    }

    @media (max-width: 768px) {
      .float-brochure-cta {
        top: auto;
        bottom: 90px;
        transform: none;
      }

      .float-brochure-cta:hover {
        transform: translateX(-6px);
      }
    }

    .hamburger {
      display: none;
      flex-direction: column;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 6px;
    }

    .hamburger span {
      display: block;
      width: 22px;
      height: 2px;
      background: var(--text-primary);
      border-radius: 2px;
      transition: all 0.25s;
    }

    .mobile-menu {
      display: none;
      position: fixed;
      top: 64px;
      left: 0;
      right: 0;
      background: var(--navbar-bg);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--border);
      padding: 16px 28px 24px;
      z-index: 999;
    }
    .mobile-menu .mobile_margin{margin: 30px 0!important;}

    .mobile-menu.open {
      display: block;
    }

    .mobile-menu ul {
      list-style: none;
    }

    .mobile-menu ul li {
      border-bottom: 1px solid var(--border);
    }

    .mobile-menu ul li a {
      display: block;
      padding: 12px 0;
      color: var(--text-secondary);
      text-decoration: none;
      font-size: 0.9rem;
    }

    .mobile-menu ul li a:hover {
      color: var(--vault-green);
    }

    /* =========================================================
     home
  ========================================================= */
    #home {
      min-height: 100vh;
      display: flex;
      align-items: center;
      background: radial-gradient(ellipse 70% 50% at 50% 60%, rgba(89, 184, 134, 0.09) 0%, transparent 65%),
        var(--bg-0);
      padding: 100px 0 20px;
      overflow: hidden;
      position: relative;
    }

    @media (max-width: 960px) {
      #home {
        min-height: auto;
        padding: 90px 0 40px;
      }
    }

    @media (max-width: 480px) {
      #home {
        padding: 80px 0 32px;
      }
    }

    .home-inner {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 48px;
      align-items: center;
    }

    .home-text {
      max-width: none;
    }

    .home-badge {
      display: inline-block;
      font-size: 0.85rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      color: var(--vault-green);
      background: var(--surface);
      border: 1px solid var(--border-hover);
      padding: 0.5rem 1rem;
      border-radius: 100px;
      margin-bottom: 20px;
      box-shadow: 0 0 16px var(--glow);
    }

    .home-text .eyebrow {
      margin-bottom: 20px;
    }

    /* Gradient sweep shimmer layer for the home heading */
    /* .section-heading-animated {
      position: relative;
      color: var(--text-primary);
    }

    .section-heading-animated .heading-shimmer-layer {
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: 0;
      font-family: inherit;
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
      letter-spacing: inherit;
      white-space: inherit;
      word-break: inherit;
      background: linear-gradient(to right,
          var(--deep-emerald) 5%,
          var(--emerald) 25%,
          var(--vault-green) 45%,
          var(--mint) 55%,
          var(--vault-green) 65%,
          var(--emerald) 80%,
          var(--deep-emerald) 100%);
      background-size: 300% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .section-heading-animated.shimmer-run .heading-shimmer-layer {
      animation: heading-gradient-sweep 2.6s cubic-bezier(0.4, 0, 0.2, 1) 1 forwards;
    }

    .section-heading-animated.shimmer-done .heading-shimmer-layer {
      opacity: 1;
      background-position: 100% 50%;
    } */

    .section em {

      font-style: normal;
      background : #55b783;


      /* background: linear-gradient(to right, #4bb585 5%, var(--emerald) 25%, var(--vault-green) 45%, var(--mint) 55%, var(--vault-green) 65%, var(--emerald) 80%, #4daf83 100%); */
      -webkit-background-clip: text;

      -webkit-text-fill-color: transparent;

      background-clip: text;

    }

    @keyframes heading-gradient-sweep {
      0% {
        background-position: 0% 50%;
        opacity: 0;
      }

      10% {
        opacity: 1;
      }

      100% {
        background-position: 100% 50%;
        opacity: 1;
      }
    }

/* ROTATING WORD ANIMATION — replaces typewriter */
.home-rotating-phrase {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35em;
  margin-top: 0.5rem; font-size: 0.5em;
      font-family: 'Inter', sans-serif;
}

.home-rotating-word {
  position: relative;
  display: inline-block;
  height: 1.3em;          /* Reserves exact height for 1 line of text */
  vertical-align: bottom;
  overflow: hidden;        /* Clips text sliding in/out from bounds */
  min-width: 600px;        /* Adjust based on your longest phrase to prevent width layout jumps */
}

.home-rword-item {
  position: absolute;
  top: 3px;
  left: 0;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none; background: linear-gradient(135deg, var(--vault-green), var(--vault-green));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.home-headline .home-title-main {
  display: block;
}

@media (max-width:1700px){
    .home-rotating-word { min-width: 485px; }
}


    /* Active = visible, sitting at normal position */
    .home-rword-item.home-rword-active {
      opacity: 1;
      transform: translateY(0);
    }

    /* Exiting = slides OUT upward */
    .home-rword-item.home-rword-exit {
      opacity: 0;
      transform: translateY(-100%);
    }

    /* ── Rotating word — responsive fixes (mirrors Crown) ──
       */
    @media (max-width: 560px) {
      .home-rotating-phrase {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        height: auto;
        min-height: 2.6em;
        overflow: visible;
        white-space: normal;
        line-height: 1.3;
      }

      .home-rotating-static {
        display: block;
        margin-bottom: 2px;
      }

      .home-rotating-word {
        display: inline-grid;
        max-width: 100%;
        white-space: normal;
      }

      .home-rword-item {
        white-space: normal;
        word-break: break-word;
        line-height: 1.25;
      }

      .home-rword-item:not(.home-rword-active) {
        opacity: 0 !important;
        visibility: hidden;
      }
    }

    @media (max-width: 380px) {
      .home-rotating-phrase {
        min-height: 2.4em;
      }
    }

    .home-subhead {
      font-size: 1.2rem;
      color: var(--text-secondary);
      margin-bottom: 36px;
      max-width: none;
      line-height: 1.75;
    }

    .home-ctas {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 48px;
    }



    /* Vault Visual */
    .home-visual {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 520px;
      min-height: 420px;
    }

    .home-visual::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 60% 30%, rgba(89, 184, 134, 0.12), transparent 32%),
        radial-gradient(circle at 30% 60%, rgba(255, 255, 255, 0.08), transparent 24%);
      pointer-events: none;
    }

    .vault-core {
      position: relative;
      width: 160px;
      height: 160px;
      z-index: 10;
    }

    .vault-svg {
      width: 100%;
      height: 100%;
      filter: drop-shadow(0 0 28px rgba(89, 184, 134, 0.55));
      animation: vaultPulse 3.5s ease-in-out infinite;
    }

    @keyframes vaultPulse {

      0%,
      100% {
        filter: drop-shadow(0 0 28px rgba(89, 184, 134, 0.55));
      }

      50% {
        filter: drop-shadow(0 0 52px rgba(89, 184, 134, 0.85));
      }
    }

    /* Orbit rings */
    .orbit-ring {
      position: absolute;
      top: 50%;
      left: 50%;
      border-radius: 50%;
      border: 1.5px solid rgba(89, 184, 134, 0.45);
      transform: translate(-50%, -50%);
      animation: rotateSlow linear infinite;
    }

    [data-theme="light"] .orbit-ring {
      border-color: rgba(63, 156, 114, 0.3);
    }

    .orbit-ring:nth-child(1) {
      width: 260px;
      height: 260px;
      animation-duration: 22s;
      border-color: rgba(89, 184, 133, 0.781);
    }

    .orbit-ring:nth-child(2) {
      width: 360px;
      height: 360px;
      animation-duration: 32s;
      animation-direction: reverse;
      border-color: rgba(89, 184, 133, 0.731);
    }

    .orbit-ring:nth-child(3) {
      width: 440px;
      height: 440px;
      animation-duration: 44s;
      border-style: dashed;
      border-color: rgb(52 114 82);
      /* border-color: rgba(89, 184, 134, 0.28); */
    }

    @keyframes rotateSlow {
      from {
        transform: translate(-50%, -50%) rotate(0deg);
      }

      to {
        transform: translate(-50%, -50%) rotate(360deg);
      }
    }

    /* Floating cards */
    .orbit-card {
      position: absolute;
      /* background: rgb(51 122 89); */
      background: rgb(255 255 255 / 32%);
      border: 1px solid var(--border);
      border-radius: 8px;
      padding: 8px 12px;
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--text-primary);
      backdrop-filter: blur(12px);
      white-space: nowrap;
      display: flex;
      align-items: center;
      gap: 6px;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
      animation: floatCard 4s ease-in-out infinite;
    }

    .orbit-card .dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--vault-green);
      flex-shrink: 0;
    }

    /* .orbit-card:nth-child(5) {
      top: 18%;
      left: 4%;
      animation-delay: 0s;
    } */

    .orbit-card:nth-child(6) {
      /* top: 18%; */
      right: 6%;
      animation-delay: 0.8s;
    }

    .orbit-card:nth-child(7) {
      bottom: 22%;
      left: 14%;
      animation-delay: 1.6s;
    }

    .orbit-card:nth-child(8) {
      bottom: 22%;
      right: 16%;
      animation-delay: 2.4s;
    }

    .orbit-card:nth-child(9) {
      top: 45%;
      left: 6%;
      animation-delay: 1.2s;
    }

    .orbit-card:nth-child(10) {
      top: 18%;
      right: 16%;
      animation-delay: 0.4s;
    }

    .orbit-card:nth-child(11) {
      top: 18%;
      left: 12%;
      animation-delay: 0.8s;
    }
     /* .orbit-card:nth-child(12) {
      top: 45%;
      right: 8%;
      animation-delay: 1.2s;
    } */

    @keyframes floatCard {

      0%,
      100% {
        transform: translateY(0px);
      }

      50% {
        transform: translateY(-8px);
      }
    }

    /* home SVG connection lines */
    .home-conn-lines {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 4;
      overflow: visible;
    }

    .home-conn {
      stroke: url(#vaultLineGrad);
      stroke-width: 1.2;
      stroke-dasharray: 6 5;
      opacity: 2;
      animation: homeConnDash 3.5s linear infinite;
    }

    .home-conn:nth-child(2) {
      animation-duration: 4s;
      animation-delay: 0.3s;
    }

    .home-conn:nth-child(3) {
      animation-duration: 3.2s;
      animation-delay: 0.6s;
    }

    .home-conn:nth-child(4) {
      animation-duration: 4.5s;
      animation-delay: 0.9s;
    }

    .home-conn:nth-child(5) {
      animation-duration: 3.8s;
      animation-delay: 1.2s;
    }

    .home-conn:nth-child(6) {
      animation-duration: 4.2s;
      animation-delay: 1.5s;
    }

    @keyframes homeConnDash {
      to {
        stroke-dashoffset: -22;
      }
    }

    /* Particles */
    .particle-field {
      position: absolute;
      inset: 0;
      pointer-events: none;
      overflow: hidden;
    }

    .particle {
      position: absolute;
      width: 2px;
      height: 2px;
      background: var(--vault-green);
      border-radius: 50%;
      opacity: 0;
      animation: particleFly 5s linear infinite;
    }

    @keyframes particleFly {
      0% {
        opacity: 0;
        transform: scale(0);
      }

      20% {
        opacity: 0.7;
      }

      80% {
        opacity: 0.3;
      }

      100% {
        opacity: 0;
        transform: scale(0) translateY(-80px);
      }
    }

    /* =========================================================
     PROBLEM SECTION — VIDEO COLUMN (replaces chaos visual)
  ========================================================= */
    .problem-video-col {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    

    .problem-video-caption {
      text-align: center;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--vault-green);
    }

    /* =========================================================
     PROBLEM SECTION — GENQUE-MATCHED PREMIUM STATS TRACK
  ========================================================= */
    .problem-stats-track {
      margin-top: 3.5rem;
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border: 1px solid var(--border);
      border-radius: 20px;
      overflow: hidden;
      background: linear-gradient(135deg, rgba(11, 15, 13, 0.6) 0%, rgba(5, 10, 8, 0.75) 100%);
      backdrop-filter: blur(20px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(89, 184, 134, 0.08);
    }

    [data-theme="light"] .problem-stats-track {
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.88) 0%, rgba(239, 245, 241, 0.82) 100%);
      box-shadow: 0 20px 60px rgba(63, 156, 114, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }

    /* Subtle top accent line — exactly as GenQue does */
    .problem-stats-track::before {
      content: '';
      position: absolute;
      top: 0;
      left: 8%;
      right: 8%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--vault-green) 30%, var(--mint) 50%, var(--vault-green) 70%, transparent);
      opacity: 0.5;
      z-index: 3;
    }

    .problem-stat-item {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 2.5rem 2rem;
      z-index: 1;
      border-right: 1px solid var(--border);
      /* Stagger-in: starts invisible, JS adds .pst-visible */
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.7s ease, transform 0.7s ease, background 0.3s;
    }

    .problem-stat-item:last-child {
      border-right: none;
    }

    .problem-stat-item.pst-visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Hover state */
    .problem-stat-item::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--surface-hover);
      opacity: 0;
      transition: opacity 0.35s;
      z-index: 0;
    }

    .problem-stat-item:hover::before {
      opacity: 1;
    }

    /* Top accent bar on hover */
    .problem-stat-item::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, var(--vault-green), var(--mint));
      opacity: 0;
      transition: opacity 0.35s;
      z-index: 2;
    }

    .problem-stat-item:hover::after {
      opacity: 1;
    }

    /* Large metric number — matches GenQue's pst-metric sizing */
    .problem-stat-metric {
      font-family: 'DM Serif Display', serif;
      font-size: clamp(2.6rem, 3.2vw, 3.8rem);
      font-weight: 400;
      line-height: 0.9;
      color: var(--vault-green);
      letter-spacing: -0.03em;
      position: relative;
      z-index: 1;
    }

    [data-theme="light"] .problem-stat-metric {
      color: var(--deep-emerald);
    }

    .problem-stat-item:hover .problem-stat-metric {
      color: var(--mint);
    }

    [data-theme="light"] .problem-stat-item:hover .problem-stat-metric {
      color: var(--emerald);
    }

    /* Accent divider — matches GenQue pst-divider */
    .problem-stat-divider {
      width: 28px;
      height: 1.5px;
      background: linear-gradient(90deg, var(--vault-green), transparent);
      margin: 1rem 0;
      border-radius: 2px;
      position: relative;
      z-index: 1;
    }

    [data-theme="light"] .problem-stat-divider {
      background: linear-gradient(90deg, var(--deep-emerald), transparent);
    }

    /* Description text */
    .problem-stat-desc {
      font-size: 0.95rem;
      color: var(--text-secondary);
      line-height: 1.55;
      text-align: left;
      position: relative;
      z-index: 1;
      transition: color 0.3s;
    }

    .problem-stat-item:hover .problem-stat-desc {
      color: var(--text-muted);
    }

    [data-theme="light"] .problem-stat-desc {
      color: var(--text-secondary);
    }

    /* Responsive — 2 cols on tablet */
    @media (max-width: 900px) {
      .problem-stats-track {
        grid-template-columns: repeat(2, 1fr);
      }
      .problem-stat-item:nth-child(2) {
        border-right: none;
      }
      .problem-stat-item:nth-child(1),
      .problem-stat-item:nth-child(2) {
        border-bottom: 1px solid var(--border);
      }
    }

    @media (max-width: 520px) {
      .problem-stats-track {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 14px;
      }
      .problem-stat-item {
        padding: 1.75rem 1.25rem;
      }
      .problem-stat-metric {
        font-size: clamp(2.2rem, 8vw, 2.8rem);
      }
      .problem-stat-desc {
        font-size: 0.82rem;
      }
    }

    @media (max-width: 380px) {
      .problem-stats-track {
        grid-template-columns: 1fr;
      }
      .problem-stat-item {
        border-right: none !important;
        border-bottom: 1px solid var(--border);
      }
      .problem-stat-item:last-child {
        border-bottom: none;
      }
    }


    /* =========================================================
     VIDEO PLAYER (used inside Problem section)
  ========================================================= */
    .vid-container {
      width: 100%;
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid var(--border);
      background: var(--bg-1);
      backdrop-filter: blur(20px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(167, 226, 196, 0.1);
      transition: box-shadow 0.4s;
    }

    [data-theme="light"] .vid-container {
      box-shadow: 0 20px 60px rgba(63, 156, 114, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.7);
    }

    .vid-container:hover {
      box-shadow: 0 28px 80px rgba(89, 184, 134, 0.22), inset 0 1px 0 rgba(167, 226, 196, 0.18);
    }

    .vid-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      background: #000;
      overflow: hidden;
    }

    .vid-wrap video {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      height: 100%;
      min-width: 100%;
      min-height: 100%;
      transform: translate(-50%, -50%);
      border: none;
      pointer-events: none;
      object-fit: cover;
    }

    /* pointer-events enabled when in fullscreen */
    .vid-wrap.vid-iframe-active video {
      pointer-events: auto;
    }

    .vid-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg,
          rgba(5, 10, 8, 0.2) 0%,
          rgba(5, 10, 8, 0.02) 40%,
          rgba(5, 10, 8, 0.02) 70%,
          rgba(5, 10, 8, 0.45) 100%);
      pointer-events: none;
      z-index: 2;
    }

    .vid-play-overlay {
      position: absolute;
      inset: 0;
      z-index: 5;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
      transition: opacity 0.4s;
      cursor: pointer;
    }

    .vid-play-circle {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: rgba(8, 18, 13, 0.6);
      backdrop-filter: blur(12px);
      border: 1.5px solid rgba(167, 226, 196, 0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 0 30px rgba(89, 184, 134, 0.35);
      transition: transform 0.3s, box-shadow 0.3s;
    }

    .vid-play-circle svg {
      width: 24px;
      height: 24px;
      fill: rgba(240, 245, 242, 0.95);
      margin-left: 3px;
    }

    .vid-playing .vid-play-overlay {
      opacity: 0;
    }

    .vid-wrap:hover .vid-play-circle {
      transform: scale(1.1);
      box-shadow: 0 0 50px rgba(89, 184, 134, 0.55);
    }

    .vid-controls {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      padding: 0.65rem 1.2rem;
      background: rgba(5, 10, 8, 0.7);
      backdrop-filter: blur(16px);
      border-top: 1px solid rgba(167, 226, 196, 0.1);
      min-height: 48px;
      flex-wrap: nowrap;
    }

    [data-theme="light"] .vid-controls {
      background: rgba(255, 255, 255, 0.78);
      border-top: 1px solid rgba(63, 156, 114, 0.14);
    }

    .vid-btn {
      background: none;
      border: none;
      cursor: pointer;
      color: rgba(240, 245, 242, 0.85);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0.2rem;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      flex-shrink: 0;
      transition: color 0.2s, background 0.2s, transform 0.2s;
    }

    [data-theme="light"] .vid-btn {
      color: var(--deep-emerald);
    }

    .vid-btn:hover {
      color: var(--vault-green);
      background: rgba(167, 226, 196, 0.15);
      transform: scale(1.12);
    }

    [data-theme="light"] .vid-btn:hover {
      color: var(--deep-emerald);
      background: rgba(63, 156, 114, 0.12);
    }

    .vid-btn svg {
      width: 16px;
      height: 16px;
      fill: currentColor;
    }

    .vid-skip svg {
      width: 18px;
      height: 18px;
    }

    .vid-progress-wrap {
      flex: 1;
      display: flex;
      align-items: center;
      gap: 0.5rem;
      min-width: 0;
    }

    .vid-time {
      font-size: 0.68rem;
      color: rgba(240, 245, 242, 0.55);
      letter-spacing: 0.04em;
      min-width: 34px;
      flex-shrink: 0;
    }

    [data-theme="light"] .vid-time {
      color: var(--text-muted);
    }

    .vid-track {
      flex: 1;
      height: 3px;
      background: rgba(167, 226, 196, 0.18);
      border-radius: 3px;
      cursor: pointer;
      position: relative;
      overflow: visible;
      transition: height 0.15s;
    }

    .vid-track:hover {
      height: 5px;
    }

    .vid-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--emerald), var(--vault-green));
      border-radius: 3px;
      width: 0%;
      transition: width 0.1s linear;
      box-shadow: 0 0 6px rgba(89, 184, 134, 0.45);
      position: relative;
    }

    .vid-fill::after {
      content: '';
      position: absolute;
      right: -4px;
      top: 50%;
      transform: translateY(-50%);
      width: 8px;
      height: 8px;
      background: #fff;
      border-radius: 50%;
      box-shadow: 0 0 8px rgba(167, 226, 196, 0.7);
      opacity: 0;
      transition: opacity 0.15s;
    }

    .vid-track:hover .vid-fill::after {
      opacity: 1;
    }

    .vid-vol-wrap {
      display: flex;
      align-items: center;
      gap: 0.35rem;
    }

    .vid-vol-slider {
      -webkit-appearance: none;
      width: 55px;
      height: 3px;
      background: rgba(167, 226, 196, 0.2);
      border-radius: 3px;
      outline: none;
      cursor: pointer;
    }

    .vid-vol-slider::-webkit-slider-thumb {
      -webkit-appearance: none;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: var(--vault-green);
      box-shadow: 0 0 6px rgba(167, 226, 196, 0.5);
    }

    .vid-vol-slider::-moz-range-thumb {
      width: 10px;
      height: 10px;
      border: none;
      border-radius: 50%;
      background: var(--vault-green);
      box-shadow: 0 0 6px rgba(167, 226, 196, 0.5);
    }

    .vid-sep {
      width: 1px;
      height: 16px;
      background: rgba(167, 226, 196, 0.15);
      flex-shrink: 0;
    }

    @media (max-width: 640px) {
      .vid-controls {
        gap: 0.4rem;
        padding: 0.5rem 0.7rem;
      }

      .vid-vol-wrap {
        display: none;
      }

      .vid-sep:nth-of-type(3) {
        display: none;
      }

      .vid-time {
        font-size: 0.62rem;
        min-width: 28px;
      }
    }

    /* =========================================================
     CONSISTENT SECTION HEADER SPACING
  ========================================================= */
    /* Eyebrow → heading gap */
    .eyebrow {
      margin-bottom: 14px;
    }

    /* Heading → paragraph gap for all section headers */
    .solution-header h2,
    .why-header h2,
    .comp-header h2,
    .outcomes-header h2,
    .faq-header h2,
    .cta-inner h2 {
      margin-bottom: 18px;
    }

    /* Paragraph spacing after headings in section headers */
    .solution-header p,
    .why-header p,
    .outcomes-header p,
    .cta-inner .cta-sub {
      margin-top: 0;
    }

    /* =========================================================
     PROBLEM
  ========================================================= */
    #problem {
      background: var(--bg-0);
    }

    .problem-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 56px;
      align-items: stretch;
    }

    .problem-text .eyebrow {
      margin-bottom: 20px;
    }

    .problem-text h2 {
      margin-bottom: 24px;
    }

    .problem-text p {
      line-height: 1.8;
      margin-bottom: 20px;
    }

    .problem-quote {
      padding: 20px 24px;
      border-left: 3px solid var(--vault-green);
      background: var(--surface);
      border-radius: 0 8px 8px 0;
      font-size: 1rem;
      color: var(--text-secondary);
      font-style: italic;
      line-height: 1.7;
      margin-top: 24px;
    }




    /* =========================================================
     HOW IT WORKS
  ========================================================= */
    #solution {
      background: var(--bg-1);
      position: relative;
      overflow: hidden;
    }

    #solution::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 20% 20%, rgba(89, 184, 134, 0.14), transparent 22%),
        radial-gradient(circle at 85% 15%, rgba(89, 184, 134, 0.1), transparent 22%);
      pointer-events: none;
    }

    #solution::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 22%;
      width: 520px;
      height: 520px;
      transform: translateX(-50%);
      background: radial-gradient(circle, rgba(89, 184, 134, 0.08), transparent 58%);
      opacity: 0.65;
      pointer-events: none;
    }

    .solution-header {
      text-align: center;
      margin-bottom: 52px;
      position: relative;
      z-index: 1;
    }

    .solution-header .eyebrow {
      margin-bottom: 14px;
    }

    .solution-header h2 {
      max-width: none;
      margin: 0 auto 18px;
    }

    .solution-header p {
      max-width: none;
      margin: 0 auto;
      font-size: 1.2rem;
    }

    .solution-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      position: relative;
      z-index: 1;
    }

    .solution-card {
      position: relative;
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 24px;
      padding: 32px 32px;
      backdrop-filter: blur(20px);
      transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
      overflow: hidden;
    }

    .solution-card::before {
      content: '';
      position: absolute;
      inset: 0;
      margin: -1px;
      border-radius: 26px;
      background: linear-gradient(135deg, rgba(89, 184, 134, 0.22), transparent 30%, rgba(255, 255, 255, 0.12));
      pointer-events: none;
      opacity: 0.8;
    }

    .solution-card::after {
      content: '';
      position: absolute;
      width: 260px;
      height: 260px;
      border-radius: 50%;
      top: -40px;
      right: -60px;
      background: radial-gradient(circle, rgba(89, 184, 134, 0.12), transparent 55%);
      pointer-events: none;
    }

    .solution-card:hover {
      transform: translateY(-10px);
      border-color: rgba(89, 184, 134, 0.35);
      box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
    }

    .solution-step {
      float: left;
      font-size: 1.05rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--vault-green);
      margin-top: 20px;
    }

    .solution-icon {
      float: right;
      width: 62px;
      height: 62px;
      border-radius: 18px;
      display: grid;
      place-items: center;
      background: rgba(89, 184, 134, 0.12);
      border: 1px solid rgba(89, 184, 134, 0.18);
      color: var(--vault-green);
      font-size: 1.8rem;
      margin-bottom: 24px;
    }

    .solution-card h3 {
      clear: both;
      font-size: clamp(1.45rem, 2.1vw, 1.75rem);
      margin-bottom: 16px;
      line-height: 1.2;
    }

    .solution-card p {
      font-size: 1rem;
      line-height: 1.8;
      color: var(--text-secondary);
      margin-bottom: 0;
    }

    .solution-flow {
      position: absolute;
      left: calc(50% - 2px);
      top: 20px;
      height: calc(100% - 40px);
      width: 4px;
      background: linear-gradient(to bottom, rgba(89, 184, 134, 0.8), transparent 70%);
      border-radius: 999px;
      opacity: 0.4;
      pointer-events: none;
    }

    .solution-connector {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      pointer-events: none;
    }

    .solution-connector span {
      position: absolute;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: rgba(89, 184, 134, 0.35);
      box-shadow: 0 0 20px rgba(89, 184, 134, 0.18);
    }

    .solution-connector .dot-1 {
      top: 20%;
      left: 4%;
    }

    .solution-connector .dot-2 {
      top: 48%;
      left: 50%;
      transform: translateX(-50%);
    }

    .solution-connector .dot-3 {
      top: 78%;
      right: 6%;
    }

    /* =========================================================
     WHY VAULT
  ========================================================= */
    #why-vault {
      background: var(--bg-0);
      position: relative;
      overflow: hidden;
    }

    .why-header {
      text-align: center;
      margin-bottom: 52px;
    }

    .why-header .eyebrow {
      margin-bottom: 14px;
    }

    .why-header h2 {
      max-width: none;
      margin: 0 auto 18px;
    }

    .why-header p {
      max-width: none;
      margin: 0 auto;
      font-size: 1.2rem;
    }

    .features-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .feature-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 28px;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }

    .feature-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--vault-green), transparent);
      opacity: 0;
      transition: opacity 0.3s;
    }

    .feature-card:hover {
      border-color: var(--border-hover);
      background: var(--surface-hover);
      transform: translateY(-3px);
      box-shadow: 0 12px 40px var(--glow);
    }

    .feature-card:hover::before {
      opacity: 1;
    }

    .feature-icon {
      width: 44px;
      height: 44px;
      background: rgba(89, 184, 134, 0.12);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.3rem;
      margin-bottom: 16px;
      border: 1px solid rgba(89, 184, 134, 0.2);
    }

    .feature-card h3 {
      font-size: 1.2rem;
      margin-bottom: 10px;
    }

    .feature-card p {
      font-size: 1rem;
      line-height: 1.7;
    }

    /* =========================================================
     COMPARISON
  ========================================================= */
    #comparison {
      background: var(--bg-1);
    }

    .comp-header {
      text-align: center;
      margin-bottom: 40px;
    }

    .comp-header .eyebrow {
      margin-bottom: 14px;
    }

    .comp-header h2 {
      max-width: none;
      margin: 0 auto;
    }

    .comp-table {
      width: 100%;
      border-radius: 12px;
      overflow: hidden;
      border: 1px solid var(--border);
    }

    .comp-thead {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      background: var(--bg-2);
      border-bottom: 1px solid var(--border);
    }

    .comp-thead div {
      padding: 18px 24px;
      font-size: 1.2rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .comp-thead .vault-col {
      color: var(--vault-green);
      border-left: 1px solid var(--border);
    }

    .comp-thead .legacy-col {
      color: var(--text-muted);
      border-left: 1px solid var(--border);
    }

    .comp-row {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      border-bottom: 1px solid var(--border);
      transition: background 0.2s;
    }

    .comp-row:last-child {
      border-bottom: none;
    }

    .comp-row:hover {
      background: var(--surface-hover);
    }

    .comp-row div {
      padding: 16px 24px;
      font-size: 1rem;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .comp-row .feature-name {
      color: var(--text-primary);
      font-weight: 500;
    }

    .comp-row .legacy-cell {
      border-left: 1px solid var(--border);
      color: var(--text-muted);
      font-size: 1rem;
    }

    .comp-row .vault-cell {
      border-left: 1px solid var(--border);
      color: var(--text-primary);
      font-size: 1rem;
    }

    .check {
      color: var(--vault-green);
      font-size: 1rem;
    }

    .cross {
      color: rgb(255 80 80);
      font-size: 1rem;
    }

    /* =========================================================
     OUTCOMES / REAL IMPACT — GenQue-style bento layout
  ========================================================= */
    #real-impact {
      background: var(--bg-0);
    }

    .impact-bento-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      border: 1px solid var(--border);
      border-radius: 18px;
      overflow: hidden;
    }

    /* Left column: label + heading + description */
    .impact-bento-left {
      padding: 52px 48px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-right: 1px solid var(--border);
      background: var(--bg-1);
      position: relative;
    }

    .impact-bento-left::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 80% 60% at 20% 50%, rgba(89, 184, 134, 0.06) 0%, transparent 65%);
      pointer-events: none;
    }

    .impact-bento-left .eyebrow {
      margin-bottom: 12px;
      position: relative;
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .impact-bento-left .eyebrow::before {
      content: '';
      display: inline-block;
      width: 28px;
      height: 2px;
      background: var(--vault-green);
      border-radius: 2px;
      flex-shrink: 0;
    }

    .impact-bento-left h2 {
      margin-bottom: 20px;
      position: relative;
    }

    .impact-bento-left p {
      font-size: 1.2rem;
      line-height: 1.75;
      position: relative;
    }

    /* Right column: 2x2 stat grid */
    .impact-bento-right {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
    }

    .impact-bento-cell {
      padding: 40px 36px;
      border-bottom: 1px solid var(--border);
      border-right: 1px solid var(--border);
      position: relative;
      transition: background 0.3s;
    }

    .impact-bento-cell:nth-child(2),
    .impact-bento-cell:nth-child(4) {
      border-right: none;
    }

    .impact-bento-cell:nth-child(3),
    .impact-bento-cell:nth-child(4) {
      border-bottom: none;
    }

    .impact-bento-cell:hover {
      background: var(--surface-hover);
    }

    .impact-stat-value {
      font-family: 'DM Serif Display', serif;
      font-size: clamp(2.4rem, 4.5vw, 3.8rem);
      font-weight: 700;
      color: var(--text-primary);
      line-height: 1;
      margin-bottom: 10px;
      letter-spacing: -0.02em;
    }

    .impact-stat-desc {
      font-size: 1rem;
      color: var(--text-secondary);
      line-height: 1.6;
    }

    /* Scalable Output cell spans full height on right side */
    .impact-bento-cell--scalable {
      grid-column: 2;
      grid-row: 2;
    }

    .impact-stat-value--large {
      font-size: clamp(2rem, 3.5vw, 3rem);
      line-height: 1.1;
    }

    @media (max-width: 900px) {
      .impact-bento-grid {
        grid-template-columns: 1fr;
      }

      .impact-bento-left {
        border-right: none;
        border-bottom: 1px solid var(--border);
        padding: 36px 28px;
      }

      .impact-bento-right {
        grid-template-columns: 1fr 1fr;
      }

      /* reset border fixes for 2-col right grid */
      .impact-bento-cell:nth-child(2) {
        border-right: none;
      }

      .impact-bento-cell:nth-child(3) {
        border-bottom: 1px solid var(--border);
        border-right: 1px solid var(--border);
      }

      .impact-bento-cell:nth-child(4) {
        border-right: none;
        border-bottom: none;
      }
    }

    @media (max-width: 560px) {
      .impact-bento-right {
        grid-template-columns: 1fr;
      }

      /* single column — all cells get a bottom border except last */
      .impact-bento-cell {
        border-right: none !important;
        border-bottom: 1px solid var(--border) !important;
      }

      .impact-bento-cell:last-child {
        border-bottom: none !important;
      }
    }



    /* =========================================================
     FAQ
  ========================================================= */
    #faq {
      background: var(--bg-1);
    }

    .faq-header {
      text-align: center;
      margin-bottom: 40px;
    }

    .faq-header .eyebrow {
      margin-bottom: 14px;
    }

    .faq-header h2 {}

    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 12px;
      max-width: none;
      margin: 0 auto;
    }

    .faq-item {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
      transition: border-color 0.25s;
    }

    .faq-item.open {
      border-color: var(--border-hover);
    }
     .faq-item.open .faq-q {
      color: var(--vault-green);
    }

    .faq-q {
      padding: 20px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      cursor: pointer;
      font-size: 1rem;
      font-weight: 600;
      color: var(--text-primary);
      user-select: none;
    }

    .faq-q:hover {
      color: var(--vault-green);
    }

    .faq-icon {
      width: 24px;
      height: 24px;
      flex-shrink: 0;
      border-radius: 50%;
      background: rgba(89, 184, 134, 0.1);
      border: 1px solid rgba(89, 184, 134, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--vault-green);
      font-size: 1rem;
      font-weight: 300;
      transition: transform 0.3s, background 0.25s;
    }

    .faq-item.open .faq-icon {
      transform: rotate(45deg);
      background: rgba(89, 184, 134, 0.2);
    }

    .faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s;
      padding: 0 24px;
    }

    .faq-item.open .faq-a {
      max-height: 300px;
      padding: 0 24px 20px;
    }

    .faq-a p {
      font-size: 0.95rem;
      line-height: 1.8;
    }

    /* =========================================================
     FINAL CTA
  ========================================================= */
    #cta {
      position: relative;
      overflow: hidden;
      background: var(--bg-1);
      padding: 120px 0;
    }

    #cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 55% at 50% 50%, rgba(89, 184, 134, 0.1) 0%, transparent 65%);
      pointer-events: none;
    }

    .cta-inner {
      text-align: center;
      position: relative;
      z-index: 2;
    }

    .cta-inner .eyebrow {
      margin-bottom: 20px;
    }

    .cta-inner h2 {
      max-width: none;
      margin: 0 auto 20px;
    }

    .cta-inner .cta-sub {
      max-width: none;
      margin: 0 auto 40px;
      font-size: 1.2rem;
      line-height: 1.75;
    }

    .cta-btns {
      display: flex;
      gap: 14px;
      justify-content: center;
      flex-wrap: wrap;
    }
    

    .vault-door {
      width: 180px;
      height: 180px;
      margin: 0 auto 40px;
      position: relative;
    }

    .vault-door-svg {
      width: 100%;
      height: 100%;
      filter: drop-shadow(0 0 36px rgba(89, 184, 134, 0.6));
      animation: doorGlow 2.5s ease-in-out infinite;
    }

    @keyframes doorGlow {

      0%,
      100% {
        filter: drop-shadow(0 0 36px rgba(89, 184, 134, 0.5));
      }

      50% {
        filter: drop-shadow(0 0 60px rgba(89, 184, 134, 0.9));
      }
    }

    /* CTA particles */
    .cta-particles {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .cta-particle {
      position: absolute;
      width: 3px;
      height: 3px;
      background: var(--vault-green);
      border-radius: 50%;
      opacity: 0;
      animation: ctaParticle 6s linear infinite;
    }

    @keyframes ctaParticle {
      0% {
        opacity: 0;
        transform: translateY(100px) scale(0);
      }

      10% {
        opacity: 0.6;
      }

      90% {
        opacity: 0.1;
      }

      100% {
        opacity: 0;
        transform: translateY(-100px) scale(0.5);
      }
    }

    /* =========================================================
     FOOTER
  ========================================================= */
    #footer {
      background: var(--bg-1);
      border-top: 1px solid var(--border);
      /* padding: 32px 0 0; */
      position: relative;
    }

    #footer>.container {
      margin: 0 auto; padding: 0 15px;
    }

    #footer::before {
      content: '';
      position: absolute;
      top: -1px;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--vault-green), transparent);
    }

    .footer-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr 1fr;
      gap: 32px;
      margin-bottom: 20px;
    }


    /* ---- Credibility Strip wrapper ---- */
    .credibility-strip {
      position: relative;
      z-index: 2;
      border-top: 1px solid var(--border);
      padding: 2.5rem 50px 1.5rem;
      background: var(--bg-1);
      transition: background 0.3s, color 0.3s;
    }

    .credibility-inner {
      max-width: none;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 500px auto 1fr;
      gap: 0;
      align-items: start;
    }

    /* ---- Brand column ---- */
    .cred-brand {
      flex: 0 0 500px;
      /* padding-right: 2rem; */
    }

    .cred-logo-lockup {
      margin-bottom: 0;
    }

    /* Logo wrapper: in dark mode, give a subtle frosted white pill so dark-on-transparent logos show */
    .cred-logo-wrap {
      display: inline-block;
      border-radius: 10px;
      padding: 6px 12px;
      transition: background 0.4s ease;
    }

    [data-theme="dark"] .cred-logo-wrap {
      background: rgba(255, 255, 255, 0.10);
      backdrop-filter: blur(6px);
      border: 1px solid rgba(255, 255, 255, 0.08);
    }

    [data-theme="light"] .cred-logo-wrap {
      background: transparent;
      border: none;
    }

    .cred-logo-img {
      height: 60px;
      width: auto;
      object-fit: contain;
      display: block;
      transition: filter 0.4s ease, opacity 0.4s ease;
    }

    /* Dark mode: gentle brightness/contrast boost — preserves original colors */
    [data-theme="dark"] .cred-logo-img {

      opacity: 1;
    }

    /* Light mode: original colors, no filter */
    [data-theme="light"] .cred-logo-img {
      filter: brightness(0.9) contrast(1.1);
      opacity: 1;
    }

    .cred-tagline {
      font-size: 1rem;
      font-weight: 800;
      color: var(--vault-green);
      letter-spacing: 0.02em;
      margin-bottom: 0.5rem;
      line-height: 1.5;
    }

    [data-theme="light"] .cred-tagline {
      color: var(--deep-emerald);
    }

    .cred-desc {
      font-size: 0.9rem;
      color: var(--text-secondary);
      line-height: 1.65;
      margin-bottom: 0;
    }

    /* Social buttons */
    .cred-social {
      display: inline-block;
      float: right;
      margin-top: 20px;
    }

    .cred-social-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.6rem 1.2rem;
      border-radius: 100px;
      border: 1.5px solid var(--border);
      background: var(--surface);
      color: var(--text-secondary);
      text-decoration: none;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.03em;
      transition: border-color 0.3s, color 0.3s, background 0.3s, box-shadow 0.3s, transform 0.25s;
      position: relative;
      overflow: hidden;
    }

    .cred-social-btn svg {
      width: 18px;
      height: 18px;
      fill: currentColor;
      flex-shrink: 0;
      transition: transform 0.3s;
    }

    .cred-social-btn:hover {
      border-color: var(--vault-green);
      color: var(--vault-green);
      background: var(--surface-hover);
      box-shadow: 0 0 20px var(--glow), 0 4px 12px rgba(89, 184, 134, 0.12);
      transform: translateY(-3px);
    }

    .cred-social-btn:hover svg {
      transform: scale(1.15);
    }

    [data-theme="light"] .cred-social-btn:hover {
      color: var(--deep-emerald);
      border-color: var(--deep-emerald);
      box-shadow: 0 0 16px rgba(63, 156, 114, 0.14);
    }

    /* LinkedIn official blue */
    .cred-social-btn--linkedin {
      color: white;
      border-color: rgba(10, 102, 194, 0.35);
      background: #0A66C2;

    }

    [data-theme="light"] .cred-social-btn--linkedin {
      color: white;
      border-color: rgba(10, 102, 194, 0.3);
      background: #0A66C2;
    }

    .cred-social-btn--linkedin:hover {
      color: #ffffff !important;
      border-color: #0A66C2 !important;
      background: #0A66C2 !important;
      box-shadow: 0 0 20px rgba(10, 102, 194, 0.4), 0 4px 12px rgba(10, 102, 194, 0.25) !important;
    }

    [data-theme="light"] .cred-social-btn--linkedin:hover {
      color: #ffffff !important;
      border-color: #0A66C2 !important;
      background: #0A66C2 !important;
      box-shadow: 0 0 20px rgba(10, 102, 194, 0.35), 0 4px 12px rgba(10, 102, 194, 0.2) !important;
    }

    /* X (Twitter) official black */
    .cred-social-btn--twitter {
      color: var(--text-secondary);
      border-color: var(--border);
      background: rgba(231, 233, 234, 0.12);

    }

    [data-theme="dark"] .cred-social-btn--twitter {
      color: #E7E9EA;
      border-color: rgba(231, 233, 234, 0.2);
      background: black;
    }

    [data-theme="light"] .cred-social-btn--twitter {
      color: white;
      border-color: rgba(15, 20, 25, 0.22);
      background: black;
    }

    [data-theme="dark"] .cred-social-btn--twitter:hover {
      color: #ffffff !important;
      border-color: rgba(231, 233, 234, 0.5) !important;
      background: black !important;
      box-shadow: 0 0 16px rgba(231, 233, 234, 0.12), 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    }

    [data-theme="light"] .cred-social-btn--twitter:hover {
      color: white !important;
      border-color: rgba(15, 20, 25, 0.5) !important;
      background: black !important;
      box-shadow: 0 0 14px rgba(15, 20, 25, 0.1), 0 4px 10px rgba(15, 20, 25, 0.08) !important;
    }

    /* ---- Vertical divider ---- */
    .cred-vdivider {
      flex: 0 0 1px;
      width: 1px;
      align-self: stretch;
      background: var(--border);
      margin: 0 2.5rem;
      min-height: 120px;
    }

    /* ---- Credibility columns layout ---- */
    .cred-columns {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr 1fr 2fr;
      gap: 0 2.5rem;
      align-items: start;
    }

    /* ---- Single credibility group ---- */
    .cred-group {
      display: flex;
      flex-direction: column;
      gap: 0.8rem;
    }

    .cred-group-header {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      margin-bottom: 0.25rem;
    }

    .cred-group-icon {
      width: 30px;
      height: 30px;
      border-radius: 7px;
      background: var(--surface);
      border: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--vault-green);
      flex-shrink: 0;
      transition: background 0.3s, color 0.3s;
    }

    [data-theme="light"] .cred-group-icon {
      color: var(--deep-emerald);
    }

    .cred-group-label {
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--vault-green);
      transition: color 0.3s;
    }

    [data-theme="light"] .cred-group-label {
      color: var(--deep-emerald);
    }

    /* ---- Badge grid ---- */
    .cred-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
    }

    .cred-badges--memberships {
      gap: 0.5rem;
    }

    /* ---- Individual badge ---- */
    .cred-badge-item {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-decoration: none;
      border-radius: 10px;
      overflow: hidden;

      border: 1px solid var(--mint);
      background: var(--bg-2);
      transition: border-color 0.28s, box-shadow 0.28s, transform 0.22s, background 0.3s;
      cursor: pointer;
      width: 80px;
      height: 80px;
    }

    /* In dark mode, give cards a slightly lighter surface so logos on transparent backgrounds are visible */
    [data-theme="dark"] .cred-badge-item {
      background: rgba(255, 255, 255, 0.10);
      border-color: rgba(167, 226, 196, 0.22);
    }

    .cred-badges--memberships .cred-badge-item {
      width: 80px;
      height: 80px;
    }

    .cred-badge-item:hover {
      border-color: var(--border-hover);
      box-shadow: 0 6px 28px var(--glow);
      transform: translateY(-3px) scale(1.03);
      z-index: 2;
    }

    /* image wrapper — fills card, centres image */
    .cred-badge-img-wrap {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 8px;
      border-radius: 9px;
      transition: background 0.3s;
    }

    /* In dark mode, a white fill behind the image helps dark/transparent logos show up */
    [data-theme="dark"] .cred-badge-img-wrap {
      background: rgba(255, 255, 255, 0.92);
      border-radius: 8px;
    }

    [data-theme="light"] .cred-badge-img-wrap {
      background: rgba(255, 255, 255, 0.75);

      border-radius: 8px;
    }

    .cred-badge-img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      display: block;
      transition: filter 0.3s, opacity 0.3s;
    }

    /* Dark mode: bright white card background — no filter needed, logos render at full fidelity */
    [data-theme="dark"] .cred-badge-img {
      filter: none;
      opacity: 1;
    }

    /* On hover: vivid + soft green glow */
    [data-theme="dark"] .cred-badge-item:hover .cred-badge-img {
      filter: drop-shadow(0 0 5px rgba(89, 184, 134, 0.4));
      opacity: 1;
    }

    /* Light mode: original colors */
    [data-theme="light"] .cred-badge-img {
      filter: none;
      opacity: 1;
    }

    [data-theme="light"] .cred-badge-item:hover .cred-badge-img {
      filter: drop-shadow(0 0 4px rgba(63, 156, 114, 0.3));
    }

    /* Special class for logos that are dark-on-transparent (no background card).
       Apply .logo-needs-invert to those specific img elements via JS or manually. */
    [data-theme="dark"] .cred-badge-img.logo-needs-invert {
      filter: brightness(0) invert(1) opacity(0.85);
    }

    [data-theme="dark"] .cred-badge-item:hover .cred-badge-img.logo-needs-invert {
      filter: brightness(0) invert(1) opacity(1) drop-shadow(0 0 5px rgba(89, 184, 134, 0.5));
    }

    /* img-error fallback — show placeholder text */
    .cred-badge-item.img-error .cred-badge-img {
      display: none;
    }

    .cred-badge-item.img-error .cred-badge-img-wrap::after {
      content: attr(data-fallback);
      font-size: 0.65rem;
      color: var(--text-muted);
      text-align: center;
    }

    /* ---- Footer bottom bar (enhanced) ---- */
    .footer-bottom--enhanced {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.75rem;
      padding: 1.25rem 50px;
      border-top: 1px solid var(--border);
      background: var(--bg-1);
      position: relative;
      z-index: 2;
    }

    .footer-bottom-left {
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
    }

    .footer-bottom-left p {
      font-size: 0.8rem;
      color: var(--text-secondary);
    }

    .footer-hq {
      font-size: 0.75rem !important;
      color: var(--text-muted) !important;
    }

    .footer-bottom-links {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      flex-wrap: wrap;
    }

    .footer-bottom-links a {
      font-size: 0.8rem;
      color: var(--text-secondary);
      text-decoration: none;
      transition: color 0.2s;
    }

    .footer-bottom-links a:hover {
      color: var(--vault-green);
    }

    [data-theme="light"] .footer-bottom-links a:hover {
      color: var(--deep-emerald);
    }

    .footer-sep {
      font-size: 0.75rem;
      color: var(--text-muted);
    }
    .footer-bottom-links--center, .footer-bottom-links--right{padding-right: 150px;}

    /* ---- Responsive ---- */
         @media (max-width: 1500px) {
    .credibility-inner {
        grid-template-columns: 350px auto 1fr;
    }
}
    @media (max-width: 1100px) {
      .credibility-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .cred-vdivider {
        display: none;
      }

      .cred-columns {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
      }

      .cred-group--memberships {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 820px) {
      .credibility-strip {
        padding: 2.5rem 1.5rem 2rem;
      }

      .cred-brand {
        flex: none;
        width: 100%;
        padding-right: 0;
      }

      .cred-columns {
        width: 100%;
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 520px) {
      .cred-columns {
        grid-template-columns: 1fr;
      }

      .cred-group--memberships {
        grid-column: auto;
      }

      .footer-bottom--enhanced {
        flex-direction: column;
        align-items: center;
        padding: 1.25rem 1.5rem;
        text-align: center;
      }

      .footer-bottom-links--center,
      .footer-bottom-links--right {
        justify-content: center;
        padding-right: 0;
      }
    }

    /* =========================================================
     RESPONSIVE — comprehensive mobile-first overhaul
  ========================================================= */

    /* ── 1100px: CMD center handles home-visual height itself ── */
    @media (max-width: 1100px) {

      /* home: switch to stacked layout */
      .home-inner {
        grid-template-columns: 1fr;
        gap: 0;
      }

      /* home-visual height is controlled by the CMD center block below */
      .home-visual {
        overflow: visible;
        margin-top: 16px;
      }

      /* Hide old orbital rings, SVG lines and particle field (not used in CMD center) */
      .orbit-ring,
      .home-conn-lines,
      .particle-field {
        display: none;
      }

      /* Vault core: static, centred (legacy fallback only) */
      .vault-core {
        position: static;
        width: 110px;
        height: 110px;
        margin: 0 auto 20px;
      }

      /* Grid wrapper for orbit cards (legacy fallback) */
      .orbit-cards-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
      }

      /* Cards become normal flow — no more absolute positions */
      .orbit-card {
        position: static !important;
        transform: none !important;
        white-space: normal;
        font-size: 0.82rem;
        padding: 10px 14px;
        animation: floatCard 5s ease-in-out infinite;
      }

      .orbit-card:nth-child(odd)  { animation-delay: 0s; }
      .orbit-card:nth-child(even) { animation-delay: 0.6s; }

      /* Problem: stack text above visual */
      .problem-grid {
        grid-template-columns: 1fr;
        gap: 36px;
      }

      .problem-video-col {
        max-width: 640px;
        margin: 0 auto;
        width: 100%;
      }

      .problem-stats-track {
        margin-top: 48px;
      }
    }

    /* ── 960px: tablet ── */
    @media (max-width: 960px) {

      .nav-links,
      .nav-actions .btn {
        display: none;
      }

      .hamburger {
        display: flex;
      }

      .container {
        padding: 0 28px;
        margin: 4rem auto;
      }

      /* Solution */
      .solution-grid {
        grid-template-columns: 1fr;
      }

      /* Features */
      .features-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      /* Comparison */
      .comp-thead div,
      .comp-row div {
        padding: 14px 16px;
        font-size: 0.9rem;
      }

      /* Stats */
      .problem-stats-track {
        grid-template-columns: repeat(2, 1fr);
      }

      .problem-stat-item:nth-child(2),
      .problem-stat-item:nth-child(4) {
        border-right: none;
      }

      .problem-stat-item:nth-child(1),
      .problem-stat-item:nth-child(2) {
        border-bottom: 1px solid var(--border);
      }

      /* Footer */
      .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
      }
    }

    /* ── 720px ── */
    @media (max-width: 720px) {
      .container {
        padding: 0 20px;
        margin: 3rem auto;
      }

      h1 {
        font-size: clamp(2rem, 6vw, 2.6rem);
      }

      h2 {
        font-size: clamp(1.7rem, 5vw, 2.2rem);
      }

      p {
        font-size: 1.05rem;
      }

      /* home cards: still 2-col */
      .orbit-cards-grid {
        max-width: 100%;
      }

      .orbit-card {
        font-size: 0.78rem;
        padding: 8px 10px;
      }

      /* Problem video player: tighten controls slightly */
      .problem-video-caption {
        font-size: 0.76rem;
      }

      /* Comparison: reduce padding */
      .comp-thead div {
        padding: 10px 10px;
        font-size: 0.82rem;
        letter-spacing: 0;
      }

      .comp-row div {
        padding: 12px 10px;
        font-size: 0.82rem;
      }

      /* Real impact */
      .impact-bento-left {
        padding: 32px 24px;
      }

      .impact-bento-cell {
        padding: 28px 20px;
      }

      .impact-stat-value {
        font-size: clamp(2rem, 7vw, 3rem);
      }
    }

    /* ── 640px: small tablet / large phone ── */
     @media (max-width: 901px) {
      .home-rotating-phrase{display: none!important;}
     }
    @media (max-width: 640px) {
      .section {
        padding: 15px 0;
      }

      #cta {
        padding: 80px 0;
      }

      /* Video controls: compact */
      .vid-controls {
        gap: 0.35rem;
        padding: 0.45rem 0.6rem;
      }

      .vid-vol-wrap {
        display: none;
      }

      .vid-sep {
        display: none;
      }

      .vid-time {
        font-size: 0.6rem;
        min-width: 26px;
      }

      .vid-btn {
        width: 28px;
        height: 28px;
      }

      .vid-btn svg {
        width: 14px;
        height: 14px;
      }

      .vid-skip svg {
        width: 15px;
        height: 15px;
      }

      /* Stats: 1 col */
      .stats-grid {
        grid-template-columns: 1fr;
      }

      .stat-card {
        border-right: none;
        border-bottom: 1px solid var(--border);
      }

      .stat-card:last-child {
        border-bottom: none;
      }

      /* Chaos visual: stack vertically */
      .chaos-visual {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 14px;
      }

      .chaos-side {
        order: 1;
      }

      .chaos-arrow {
        order: 2;
        flex-direction: row;
        gap: 8px;
      }

      .order-side {
        order: 3;
      }

      .chaos-item {
        transform: none !important;
      }

      .arrow-label-wrap {
        padding: 6px 14px;
        border-radius: 8px;
      }

      /* Solution cards */
      .solution-card {
        padding: 28px 20px;
      }

      .solution-icon {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
      }

      /* Features */
      .features-grid {
        grid-template-columns: 1fr;
      }

      /* Comparison: full responsive swap */
      .comp-table {
        border-radius: 10px;
      }

      .comp-thead {
        grid-template-columns: 1fr 1fr 1fr;
      }

      .comp-thead div {
        padding: 10px 8px;
        font-size: 0.72rem;
        letter-spacing: 0;
      }

      .comp-row {
        grid-template-columns: 1fr 1fr 1fr;
      }

      .comp-row div,
      .comp-row .legacy-cell,
      .comp-row .vault-cell {
        padding: 10px 8px;
        font-size: 0.72rem;
      }

      /* FAQ */
      .faq-q {
        padding: 16px 18px;
        font-size: 0.9rem;
      }

      .faq-item.open .faq-a {
        padding: 0 18px 16px;
      }

      .faq-a p {
        font-size: 0.88rem;
      }

      /* Footer */
      .footer-top {
        grid-template-columns: 1fr;
      }
    }

    /* ── 480px: phones ── */
    @media (max-width: 480px) {
      .container {
        padding: 0 16px;
      }

      #navbar {
        padding: 1rem 1.2rem;
      }

      /* home */
      .vault-core {
        width: 84px;
        height: 84px;
      }

      .orbit-cards-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }

      .orbit-card {
        font-size: 0.73rem;
        padding: 7px 9px;
        gap: 5px;
      }

      .orbit-card .dot {
        width: 5px;
        height: 5px;
      }

      /* Chaos visual: tight vertical stack */
      .chaos-item,
      .order-item {
        padding: 7px 9px;
        font-size: 0.75rem;
      }

      /* Comparison: feature name + 2 cols — tightest */
      .comp-thead div {
        padding: 8px 6px;
        font-size: 0.65rem;
      }

      .comp-row div,
      .comp-row .legacy-cell,
      .comp-row .vault-cell {
        padding: 8px 6px;
        font-size: 0.68rem;
      }

      /* Solution */
      .solution-card h3 {
        font-size: 1.15rem;
      }

      .solution-step {
        font-size: 0.9rem;
      }

      /* Impact bento */
      .impact-bento-left {
        padding: 28px 18px;
      }

      .impact-bento-cell {
        padding: 22px 18px;
      }

      .impact-stat-value {
        font-size: clamp(1.8rem, 8vw, 2.8rem);
        margin-bottom: 8px;
      }

      .impact-stat-value--large {
        font-size: clamp(1.5rem, 6vw, 2.2rem);
      }

      .impact-stat-desc {
        font-size: 0.85rem;
      }

      /* Video */
      .vid-controls {
        gap: 0.25rem;
        padding: 0.4rem 0.5rem;
      }

      /* CTA */
      .vault-door {
        width: 120px;
        height: 120px;
      }

      .cta-btns {
        flex-direction: column;
        align-items: center;
      }

      .cta-btns .btn {
        width: 100%;
        justify-content: center;
      }
    }

    /* ── 380px: very small phones (320–380px) ── */
    @media (max-width: 380px) {
      .container {
        padding: 0 12px;
        margin: 2.5rem auto;
      }

      h1 {
        font-size: 1.85rem;
      }

      h2 {
        font-size: 1.55rem;
      }

      p {
        font-size: 0.95rem;
      }

      .home-badge {
        font-size: 0.72rem;
        padding: 0.4rem 0.8rem;
      }

      /* home cards: single column on very tight screens */
      .orbit-cards-grid {
        grid-template-columns: 1fr;
      }

      .orbit-card {
        font-size: 0.72rem;
      }

      /* Chaos */
      .chaos-item,
      .order-item {
        padding: 6px 8px;
        font-size: 0.72rem;
      }

      .chaos-icon {
        font-size: 0.85rem;
      }

      .order-badge {
        display: none;
      }

      /* Comparison: feature name shortened, shrink everything */
      .comp-thead div {
        font-size: 0.6rem;
        padding: 6px 4px;
        letter-spacing: 0;
      }

      .comp-row div,
      .comp-row .legacy-cell,
      .comp-row .vault-cell {
        font-size: 0.62rem;
        padding: 7px 4px;
        gap: 4px;
      }

      /* Solution card */
      .solution-card {
        padding: 22px 16px;
        border-radius: 16px;
      }

      .solution-card h3 {
        font-size: 1.05rem;
      }

      .solution-card p {
        font-size: 0.88rem;
      }

      .solution-icon {
        width: 44px;
        height: 44px;
        font-size: 1.3rem;
      }

      /* Why Vault */
      .feature-card {
        padding: 20px 16px;
      }

      .feature-card h3 {
        font-size: 1rem;
      }

      .feature-card p {
        font-size: 0.88rem;
      }

      /* Impact bento */
      .impact-bento-left {
        padding: 22px 14px;
      }

      .impact-bento-cell {
        padding: 18px 14px;
      }

      .impact-stat-value {
        font-size: 1.7rem;
      }

      .impact-stat-value--large {
        font-size: 1.4rem;
      }

      /* FAQ */
      .faq-q {
        padding: 14px 14px;
        font-size: 0.85rem;
      }

      .faq-list {
        gap: 8px;
      }

      /* Stats */
      .stat-card {
        padding: 18px 16px;
      }

      .stat-value {
        font-size: 1.6rem;
      }

      /* Navbar */
      #navbar {
        padding: 0.9rem 1rem;
      }

      .nav-logo-wrap {
        width: 130px;
      }

      /* Float brochure */
      .float-brochure-cta {
        bottom: 70px;
      }

      /* Video */
      .vid-btn {
        width: 24px;
        height: 24px;
      }

      .vid-btn svg {
        width: 12px;
        height: 12px;
      }

      .vid-time {
        min-width: 22px;
        font-size: 0.56rem;
      }
    }

    @media (prefers-reduced-motion: reduce) {

      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
      }
    }
    /* =========================================================
     VAULT AI COMMAND CENTER — Genque-style home visual
     Adapted with Vault green brand colors
  ========================================================= */

    /* Resize home-visual to be taller to accommodate the grid */
    .home-visual {
      position: relative;
      display: flex;
      align-items: stretch;
      justify-content: center;
      height: 640px;
      min-height: 540px;
    }

    .home-visual::before { display: none; } /* remove old pseudo */

    #vault-cmd-scene {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    #vault-cmd-particles {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 0;
    }

    :root {
      --ws-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
    }
    [data-theme="light"] {
      --ws-shadow: 0 8px 32px rgba(63, 156, 114, 0.12);
    }

    /* ============================================================
       home RIGHT — ORBIT VISUAL (hub + 6 orbiting feature cards)
       ============================================================ */
    #ws-orbit {
      position: absolute;
      inset: 0;
      z-index: 1;
    }

    #ws-ring {
      position: absolute;
      inset: 0;
      animation: ws-ring-spin 130s linear infinite;
      will-change: transform;
    }

    @keyframes ws-ring-spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }

    .ws-links {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      overflow: visible;
      pointer-events: none;
    }

    .ws-link-base {
      /* stroke: url(#ws-line-grad); */
      stroke-width: 1.3;
      stroke-linecap: round;
      opacity: 0.85;
    }

    .ws-link-line {
      stroke-dasharray: 5 9;
      animation: ws-link-flow 2.6s linear infinite;
    }

    @keyframes ws-link-flow {
      to { stroke-dashoffset: -28; }
    }

    .ws-link-node {
      animation: ws-node-pulse 2.8s ease-in-out infinite;
    }

    @keyframes ws-node-pulse {
      0%, 100% { opacity: .55; r: 2.6; }
      50% { opacity: 1; r: 3.6; }
    }

    /* Hub sits outside the rotating ring so it stays perfectly still
       while cards + connection lines slowly orbit around it. */
    .ws-hub {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: clamp(92px, 12.5vw, 148px);
      height: clamp(92px, 12.5vw, 148px);
      z-index: 3;
      pointer-events: none;
    }

    .ws-hub-ring {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      border: 1px solid rgba(89, 184, 134, 0.5);
    }

    [data-theme="light"] .ws-hub-ring {
      border-color: rgba(42, 107, 78, 0.62);
    }

    .ws-hub-ring-1 {
      animation: ws-ring-expand 3.6s ease-out infinite;
    }

    .ws-hub-ring-2 {
      animation: ws-ring-expand 3.6s ease-out infinite 1.8s;
    }

    @keyframes ws-ring-expand {
      0% { transform: scale(.82); opacity: .85; }
      100% { transform: scale(1.55); opacity: 0; }
    }

    .ws-hub-core {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      background: linear-gradient(150deg, rgba(8, 18, 12, 0.92) 0%, rgba(5, 10, 8, 0.85) 100%);
      border: 1px solid var(--border-hover);
      box-shadow: var(--ws-shadow), inset 0 1px 0 rgba(89, 184, 134, 0.16), 0 0 44px var(--glow);
      backdrop-filter: blur(14px);
      animation: ws-hub-float 5s ease-in-out infinite;
    }

    [data-theme="light"] .ws-hub-core {
      background: linear-gradient(150deg, rgba(255, 255, 255, 0.90) 0%, rgba(239, 245, 241, 0.84) 100%);
    }

    @keyframes ws-hub-float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-6px); }
    }

    .ws-hub-icon {
      width: clamp(24px, 3.2vw, 36px);
      height: clamp(24px, 3.2vw, 36px);
      color: var(--vault-green);
    }

    .ws-hub-icon svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .ws-hub-label {
      font-family: 'Syne', sans-serif;
      font-weight: 800;
      font-size: clamp(.62rem, 1vw, .84rem);
      color: var(--text-primary);
      letter-spacing: -0.01em;
    }

    .ws-hub-sub {
      font-size: clamp(.42rem, .6vw, .54rem);
      color: var(--vault-green);
      text-transform: uppercase;
      letter-spacing: .08em;
      opacity: .85;
      text-align: center;
      padding: 0 8px;
      line-height: 1.2;
    }

    /* Feature cards: positioned in JS (left/top, pixel-based), then
       counter-rotated so their content stays upright while the ring spins. */
    .ws-card {
      position: absolute;
      width: clamp(112px, 14vw, 190px);
      opacity: 0;
      z-index: 2;
    }

    .ws-card-counter {
      animation: ws-card-counter-spin 130s linear infinite;
    }

    @keyframes ws-card-counter-spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(-360deg); }
    }

    .ws-card-float {
      animation: ws-card-float 6s ease-in-out infinite;
    }

    @keyframes ws-card-float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
    }

    .ws-card-inner {
      border-radius: 16px;
      border: 1px solid var(--border);
      background: linear-gradient(150deg, rgba(8, 18, 12, 0.92) 0%, rgba(5, 10, 8, 0.85) 100%);
      box-shadow: var(--ws-shadow), inset 0 1px 0 rgba(89, 184, 134, 0.10);
      backdrop-filter: blur(10px);
      padding: 10px 13px 12px;
      display: flex;
      flex-direction: column;
      gap: 4px;
      cursor: default;
      transition: transform .4s cubic-bezier(.2, .8, .2, 1), border-color .3s ease, box-shadow .3s ease;
    }

    [data-theme="light"] .ws-card-inner {
      background: linear-gradient(150deg, rgba(255, 255, 255, 0.90) 0%, rgba(239, 245, 241, 0.84) 100%);
    }

    .ws-card:hover .ws-card-inner {
      transform: translateY(-5px) scale(1.045);
      border-color: var(--border-hover);
      box-shadow: var(--ws-shadow), 0 0 26px var(--glow-strong);
    }

    .ws-card-icon {
      width: 20px;
      height: 20px;
      color: var(--vault-green);
      margin-bottom: 1px;
    }

    .ws-card-icon svg {
      width: 100%;
      height: 100%;
      display: block;
    }

    .ws-card-title {
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      font-size: clamp(.64rem, .8vw, 0.95rem);
      color: var(--text-primary);
      line-height: 1.25;
    }

    .ws-card-desc {
      font-size: clamp(.56rem, .66vw, 0.85rem);
      color: var(--text-secondary);
      line-height: 1.35;
    }

    /* Progressive simplification for small viewports: keep every visible
       piece of text comfortably legible rather than shrinking indefinitely. */
    @media (max-width: 640px) {
      .ws-card-desc { display: none; }
      .ws-card { width: clamp(84px, 24vw, 128px); }
      .ws-card-inner { padding: 8px 10px 9px; border-radius: 13px; }
      .ws-card-title { font-size: .62rem; }
      .ws-hub-sub { display: none; }
    }

    @media (max-width: 400px) {
      .ws-card-title { display: none; }
      .ws-card { width: clamp(46px, 14vw, 62px); }
      .ws-card-inner {
        padding: 8px;
        align-items: center;
        border-radius: 50%;
        aspect-ratio: 1;
        justify-content: center;
      }
      .ws-card-icon { margin-bottom: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      #ws-ring, .ws-card-counter, .ws-card-float, .ws-hub-core,
      .ws-hub-ring-1, .ws-hub-ring-2, .ws-link-line, .ws-link-node {
        animation: none !important;
      }
    }


    /* Ambient glow blobs */
    .vault-cmd-blob {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
      filter: blur(60px);
    }

    .vault-cmd-blob-1 {
      width: 280px; height: 280px;
      background: rgba(89, 184, 134, 0.09);
      top: -30px; right: -30px;
      animation: vcmd-blob1 8s ease-in-out infinite;
    }

    .vault-cmd-blob-2 {
      width: 200px; height: 200px;
      background: rgba(63, 156, 114, 0.07);
      bottom: 20px; left: 10px;
      animation: vcmd-blob2 10s ease-in-out infinite;
    }

    @keyframes vcmd-blob1 {
      0%,100% { transform: translate(0,0) scale(1); }
      50%      { transform: translate(-18px,12px) scale(1.1); }
    }
    @keyframes vcmd-blob2 {
      0%,100% { transform: translate(0,0) scale(1); }
      50%      { transform: translate(12px,-16px) scale(1.08); }
    }

    /* Command center grid wrapper */
    #vault-ai-center {
      position: absolute;
      inset: 0;
      display: grid;
      grid-template-columns: 1fr 2fr 1fr;
      grid-template-rows: 1fr 1fr 1fr;
      gap: 10px;
      padding: 14px;
      perspective: 1200px;
      perspective-origin: 50% 45%;
    }

    /* Subtle grid overlay */
    #vault-ai-center::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(89,184,134,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(89,184,134,0.04) 1px, transparent 1px);
      background-size: 32px 32px;
      pointer-events: none;
      z-index: 0;
      border-radius: 20px;
    }

    /* ── Panel base ── */
    .vcmd-panel {
      position: relative;
      border-radius: 12px;
      border: 1px solid rgba(89,184,134,0.16);
      overflow: hidden;
      will-change: transform;
      transition: border-color 0.4s ease, box-shadow 0.4s ease;
      display: flex;
      flex-direction: column;
      z-index: 2;
      opacity: 0; /* hidden until JS animates in */
    }

    [data-theme="dark"] .vcmd-panel {
      background: linear-gradient(150deg, rgba(8,18,12,0.92) 0%, rgba(5,10,8,0.85) 100%);
      box-shadow: 0 8px 32px rgba(0,0,0,0.45), inset 0 1px 0 rgba(89,184,134,0.1);
    }

    [data-theme="light"] .vcmd-panel {
      background: linear-gradient(150deg, rgba(255,255,255,0.90) 0%, rgba(239,245,241,0.84) 100%);
      box-shadow: 0 8px 32px rgba(63,156,114,0.1), inset 0 1px 0 rgba(255,255,255,0.9);
      border-color: rgba(63,156,114,0.15);
    }

    /* Top shimmer line */
    .vcmd-panel::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(89,184,134,0.5), transparent);
      z-index: 10;
    }

    [data-theme="light"] .vcmd-panel::before {
      background: linear-gradient(90deg, transparent, rgba(63,156,114,0.3), transparent);
    }

    .vcmd-panel:hover {
      border-color: rgba(89,184,134,0.38) !important;
    }

    [data-theme="dark"] .vcmd-panel:hover {
      box-shadow: 0 16px 60px rgba(0,0,0,0.55), 0 0 40px rgba(89,184,134,0.15), inset 0 1px 0 rgba(89,184,134,0.18);
    }

    [data-theme="light"] .vcmd-panel:hover {
      box-shadow: 0 16px 60px rgba(63,156,114,0.14), inset 0 1px 0 rgba(255,255,255,0.95);
      border-color: rgba(63,156,114,0.38) !important;
    }

    /* Active breathing glow */
    .vcmd-active {
      border-color: rgba(89,184,134,0.42) !important;
      animation: vcmd-breathe 3s ease-in-out infinite;
    }

    @keyframes vcmd-breathe {
      0%,100% { box-shadow: 0 8px 32px rgba(0,0,0,0.45), 0 0 20px rgba(89,184,134,0.10), inset 0 1px 0 rgba(89,184,134,0.1); }
      50%      { box-shadow: 0 8px 32px rgba(0,0,0,0.45), 0 0 42px rgba(89,184,134,0.26), inset 0 1px 0 rgba(89,184,134,0.2); }
    }

    /* Grid layout — mirrors Genque layout */
    #vcmd-main {
      grid-column: 2;
      grid-row: 1 / 3;
      z-index: 5;
      animation: vcmd-float-main 6s ease-in-out infinite;
    }

    @keyframes vcmd-float-main {
      0%,100% { transform: translateY(0px) translateZ(0); }
      50%      { transform: translateY(-8px) translateZ(0); }
    }

    #vcmd-tl {
      grid-column: 1; grid-row: 1;
      animation: vcmd-float-tl 7.5s ease-in-out infinite 0.8s;
    }
    @keyframes vcmd-float-tl {
      0%,100% { transform: translateY(0px) translateX(0px); }
      40%      { transform: translateY(-7px) translateX(2px); }
      70%      { transform: translateY(-4px) translateX(-2px); }
    }

    #vcmd-bl {
      grid-column: 1; grid-row: 2;
      animation: vcmd-float-bl 9s ease-in-out infinite 1.6s;
    }
    @keyframes vcmd-float-bl {
      0%,100% { transform: translateY(0px); }
      50%      { transform: translateY(-6px); }
    }

    #vcmd-tr {
      grid-column: 3; grid-row: 1;
      animation: vcmd-float-tr 8s ease-in-out infinite 0.4s;
    }
    @keyframes vcmd-float-tr {
      0%,100% { transform: translateY(0px) translateX(0px); }
      35%      { transform: translateY(-8px) translateX(-2px); }
      65%      { transform: translateY(-4px) translateX(2px); }
    }

    #vcmd-mr {
      grid-column: 3; grid-row: 2;
      animation: vcmd-float-tr 8.5s ease-in-out infinite 1.2s;
    }

    #vcmd-bc {
      grid-column: 2 / 4; grid-row: 3;
      animation: vcmd-float-bc 7s ease-in-out infinite 2s;
    }
    @keyframes vcmd-float-bc {
      0%,100% { transform: translateY(0px); }
      50%      { transform: translateY(-5px); }
    }

    #vcmd-blex {
      grid-column: 1; grid-row: 3;
      animation: vcmd-float-bl 8s ease-in-out infinite 0.6s;
    }

    /* Panel header */
    .vcmd-header {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 7px 10px 5px;
      flex-shrink: 0;
      position: relative;
      z-index: 5;
    }

    .vcmd-led {
      width: 6px; height: 6px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    .vcmd-led-blue   { background: #59B886; box-shadow: 0 0 6px rgba(89,184,134,0.8); animation: vcmd-led 2.2s ease-in-out infinite; }
    .vcmd-led-green  { background: #4ade80; box-shadow: 0 0 6px rgba(74,222,128,0.7); animation: vcmd-led 2.8s ease-in-out infinite 0.6s; }
    .vcmd-led-amber  { background: #fbbf24; box-shadow: 0 0 6px rgba(251,191,36,0.6); animation: vcmd-led 3.2s ease-in-out infinite 1.2s; }
    .vcmd-led-purple { background: #a78bfa; box-shadow: 0 0 6px rgba(167,139,250,0.6); animation: vcmd-led 2.6s ease-in-out infinite 0.4s; }
    .vcmd-led-teal   { background: #22d3ee; box-shadow: 0 0 6px rgba(34,211,238,0.6); animation: vcmd-led 3s ease-in-out infinite 0.9s; }

    @keyframes vcmd-led {
      0%,100% { opacity: 1; transform: scale(1); }
      50%      { opacity: 0.35; transform: scale(0.65); }
    }

    .vcmd-label {
      font-size: 0.5rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--vault-green);
      opacity: 0.75;
    }

    [data-theme="light"] .vcmd-label { color: var(--emerald); }

    .vcmd-chrome { display: flex; gap: 3px; margin-left: auto; }
    .vcmd-chrome span { width: 5px; height: 5px; border-radius: 50%; opacity: 0.4; }
    .vcmd-chrome span:nth-child(1) { background: #ff5f57; }
    .vcmd-chrome span:nth-child(2) { background: #febc2e; }
    .vcmd-chrome span:nth-child(3) { background: #28c840; }

    /* Image area */
    .vcmd-img-wrap {
      flex: 1;
      min-height: 0;
      overflow: hidden;
      position: relative;
      background: #fff;
      margin: 0 7px 7px;
      border-radius: 7px;
    }

    [data-theme="dark"] .vcmd-img-wrap { background: #ffffff; }
    [data-theme="light"] .vcmd-img-wrap { background: #f8fafb; }

    .vcmd-img-wrap > img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
      border-radius: 7px;
      transition: none;
      filter: blur(2.5px) brightness(0.82);
      /* Hidden until scan initializes — prevents flash */
      opacity: 0;
    }

    /* Reveal the blurred base once scan-ready */
    .vcmd-img-wrap.scan-ready > img { opacity: 1; }

    .vcmd-img-wrap::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 7px;
      box-shadow: inset 0 0 0 1px rgba(89,184,134,0.15);
      pointer-events: none;
      z-index: 3;
      transition: box-shadow 0.4s;
    }

    .vcmd-panel:hover .vcmd-img-wrap::after {
      box-shadow: inset 0 0 0 1.5px rgba(89,184,134,0.35);
    }

    /* Caption */
    .vcmd-caption {
      display: flex;
      align-items: center;
      gap: 5px;
      padding: 0 9px 7px;
      flex-shrink: 0;
    }

    .vcmd-cap-dot {
      width: 3px; height: 3px;
      border-radius: 50%;
      background: var(--vault-green);
      opacity: 0.55;
    }

    .vcmd-cap-text {
      font-size: 0.48rem;
      color: var(--text-secondary);
      letter-spacing: 0.07em;
      text-transform: uppercase;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    /* Corner accent brackets on main panel */
    #vcmd-main .vcmd-corner {
      position: absolute;
      width: 13px; height: 13px;
      border-color: rgba(89,184,134,0.5);
      border-style: solid;
      z-index: 10;
      pointer-events: none;
    }
    #vcmd-main .vcmd-corner.tl { top: 6px; left: 6px; border-width: 1.5px 0 0 1.5px; }
    #vcmd-main .vcmd-corner.tr { top: 6px; right: 6px; border-width: 1.5px 1.5px 0 0; }
    #vcmd-main .vcmd-corner.bl { bottom: 6px; left: 6px; border-width: 0 0 1.5px 1.5px; }
    #vcmd-main .vcmd-corner.br { bottom: 6px; right: 6px; border-width: 0 1.5px 1.5px 0; }

    /* ── SCAN ANIMATION ── */
    .vcmd-scan-overlay {
      position: absolute;
      inset: 0;
      border-radius: 7px;
      z-index: 4;
      pointer-events: none;
      overflow: hidden;
    }

    /* The glowing scan line — Vault green theme */
    .vcmd-scan-line {
      position: absolute;
      left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg,
        transparent 0%,
        rgba(89,184,134,0.3) 10%,
        rgba(89,184,134,0.95) 40%,
        rgba(167,226,196,1) 50%,
        rgba(89,184,134,0.95) 60%,
        rgba(89,184,134,0.3) 90%,
        transparent 100%);
      box-shadow:
        0 0 8px rgba(89,184,134,0.8),
        0 0 20px rgba(89,184,134,0.5),
        0 0 40px rgba(89,184,134,0.25);
      opacity: 0;
      top: 0;
      z-index: 6;
      pointer-events: none;
    }

    /* Scanned (sharp) region above the scan line — grows downward */
    .vcmd-scan-clear {
      position: absolute;
      left: 0; right: 0; top: 0;
      height: 0%;
      overflow: hidden;
      border-radius: 7px 7px 0 0;
      z-index: 5;
      pointer-events: none;
    }

    .vcmd-scan-clear img {
      position: absolute;
      top: 0; left: 0;
      width: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
      border-radius: 0;
      /* Sharp clear version — no blur, full brightness */
      filter: brightness(1.02) saturate(1.06) !important;
    }

    /* Scan glow artifact just below scan line */
    .vcmd-scan-glow {
      position: absolute;
      left: 0; right: 0;
      height: 55px;
      background: linear-gradient(180deg,
        rgba(89,184,134,0.18) 0%,
        rgba(89,184,134,0.06) 60%,
        transparent 100%);
      opacity: 0;
      top: 0;
      z-index: 5;
      pointer-events: none;
    }

    /* ── Responsive ── */
    @media (max-width: 1100px) {
      .home-inner {
        grid-template-columns: 1fr;
        gap: 36px;
      }
      .home-visual {
        height: 480px;
        min-height: 380px;
      }
    }

    /* ── CMD Center: 1100px — home stacks, visual takes full width ── */
    @media (max-width: 1100px) {
      .home-visual {
        width: 100%;
        height: 500px;
        min-height: 400px;
        align-items: stretch;
        margin-left: 0;
        margin-right: 0;
      }
      #vault-cmd-scene {
        width: 100%;
      }
    }

    /* ── 768px: hide outer side panels, 2-col grid ── */
    @media (max-width: 768px) {
      #vcmd-tl, #vcmd-bl, #vcmd-mr, #vcmd-blex {
        display: none;
      }
      #vault-ai-center {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        gap: 8px;
        padding: 10px;
      }
      #vcmd-main {
        grid-column: 1 / 3;
        grid-row: 1 / 3;
      }
      #vcmd-tr {
        grid-column: 1;
        grid-row: 3;
      }
      #vcmd-bc {
        grid-column: 2;
        grid-row: 3;
      }
      .home-visual {
        height: 400px;
        min-height: 320px;
      }
    }

    /* ── 520px: only main panel + one side panel ── */
    @media (max-width: 520px) {
      #vcmd-tr, #vcmd-bc {
        display: none;
      }
      #vault-ai-center {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        gap: 0;
        padding: 8px;
      }
      #vcmd-main {
        grid-column: 1;
        grid-row: 1;
        /* fill the full visual area */
      }
      .home-visual {
        height: 300px;
        min-height: 260px;
      }
    }

    /* ── 480px: tighten padding ── */
    @media (max-width: 480px) {
      #vault-ai-center {
        gap: 6px;
        padding: 8px;
      }
      .home-visual {
        height: 280px;
        min-height: 240px;
      }
      .ws-links{display: none!important;}
    }

    /* ── 380px: very small phones ── */
    @media (max-width: 380px) {
      .home-visual {
        height: 240px;
        min-height: 200px;
      }
      #vault-ai-center {
        padding: 6px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .vcmd-panel, #vcmd-main, #vcmd-tl, #vcmd-bl, #vcmd-tr, #vcmd-mr, #vcmd-bc, #vcmd-blex {
        animation: none !important;
      }
    }


    /* Header banner */
    .cmp-header {
      display: grid;
      grid-template-columns: 1.5fr 1.4fr 1.4fr;
      gap: 0;
      margin-bottom: 0;
      border-radius: 20px 20px 0 0;
      overflow: hidden;
      border: 1px solid var(--border);
      border-bottom: none;
    }

    .cmp-h-cap {
      padding: 24px 28px;
      background: transparent;
      display: flex;
      align-items: flex-end;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

    .cmp-h-crown {
      padding: 20px 28px;
      background: linear-gradient(135deg, rgb(95 193 144 / 18%), rgb(85 183 131 / 8%));
      border-left: 1px solid var(--border);
      border-right: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: relative;
      gap: 6px;
    }

    .cmp-h-crown::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--deep-emerald), transparent);
    }

    .cmp-badge-rec {
      position: absolute;
      top: -1px;
      right: 20px;
      background: linear-gradient(135deg, var(--deep-emerald), var(--emerald));
      color: #fff;
      font-size: 0.55rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 3px 10px;
      border-radius: 0 0 6px 6px;
    }

    .cmp-h-crown-name {
      font-family: 'Syne', sans-serif;
      font-size: 1rem;
      font-weight: 800;
      color: var(--gold);
      letter-spacing: 0.05em;
    }

    .cmp-h-crown-sub {
      font-size: 0.65rem;
      color: rgba(200, 164, 77, 0.6);
      letter-spacing: 0.06em;
    }

    .cmp-h-legacy {
      padding: 24px 28px;
      background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.04));
      border-left: 1px solid rgba(239, 68, 68, 0.22);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      position: relative;
    }

    .cmp-h-legacy::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(239,68,68,0.7), transparent);
    }

    .cmp-h-legacy-name {
      font-family: 'Syne', sans-serif;
      font-size: 1rem;
      font-weight: 700;
      color: var(--text-muted);
      letter-spacing: 0.03em;
    }

    .cmp-h-legacy-sub {
      font-size: 0.62rem;
      color: rgba(248, 244, 236, 0.25);
      letter-spacing: 0.04em;
    }

    /* Rows container */
    .cmp-rows {
      border: 1px solid var(--border);
      border-radius: 0 0 20px 20px;
      overflow: hidden;
    }

    /* Individual row */
    .cmp-row {
      display: grid;
      grid-template-columns: 1.5fr 1.4fr 1.4fr;
      gap: 0;
      border-bottom: 1px solid #424242;
      transition: background 0.2s;
      opacity: 0;
      transform: translateX(-20px);
      transition: opacity 0.5s ease, transform 0.5s ease, background 0.2s;
    }
    [data-theme="light"]  .cmp-row {border-bottom: 1px solid #eee;}

    .cmp-row:last-child {
      border-bottom: none;
    }

    .cmp-row:hover {
      background: rgba(255, 255, 255, 0.02);
    }

    .cmp-row.revealed {
      opacity: 1;
      transform: translateX(0);
    }

    /* Row capability label */
    .cmp-cap {
      padding: 20px 28px;
      display: flex;
      align-items: center;
      gap: 12px;
      border-right: 1px solid rgba(255, 255, 255, 0.04);
    }

    .cmp-cap-icon {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      background: var(--glass);
      border: 1px solid var(--glass-border);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.9rem;
      flex-shrink: 0;
      transition: all 0.3s;
    }

    .cmp-cap-text {
      font-size: 1rem;
      font-weight: 500;
      color: var(--text-secondary);
      line-height: 1.3;
    }

    /* Crown cell */
    .cmp-crown-cell {
      padding: 20px 24px;
      background: rgba(237, 246, 241, 0.32);
      border-left: var(--border);
      border-right: var(--border);
      display: flex;
      align-items: center;
      gap: 10px;
      position: relative;
      transition: background 0.3s;
    }
    [data-theme="dark"] .cmp-crown-cell {  background: transparent;}

    .cmp-row:hover .cmp-crown-cell {
      background: var(--surface-hover);
    }

    /* Animated check indicator for crown */
    .cmp-check-ring {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--emerald);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      position: relative;
      box-shadow: none;
    }

    @keyframes checkRingPulse {

      0%,
      100% {
        box-shadow: 0 0 8px rgba(200, 164, 77, 0.2);
      }

      50% {
        box-shadow: 0 0 16px rgba(200, 164, 77, 0.4);
      }
    }

    .cmp-check-ring svg {
      width: 12px;
      height: 12px;
    }

    .cmp-crown-text {
      font-size: 1rem;
      color: var(--text-primary);
      font-weight: 500;
      line-height: 1.7;
    }

    /* Crown highlight bar on left edge */
    .cmp-crown-cell::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20%;
      bottom: 20%;
      width: 2px;
      background: var(--emerald);
      border-radius: 1px;
      opacity: 0.5;
    }

    /* Legacy cell */
    .cmp-legacy-cell {
      padding: 20px 24px;
      background: rgba(239, 68, 68, 0.03);
      border-left: 1px solid rgba(239, 68, 68, 0.15);
      display: flex;
      align-items: center;
      gap: 10px;
      opacity: 1;
      position: relative;
    }

    .cmp-legacy-cell::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20%;
      bottom: 20%;
      width: 2px;
      background: rgba(239, 68, 68, 0.5);
      border-radius: 1px;
    }

    .cmp-row:hover .cmp-legacy-cell {
      background: rgba(239, 68, 68, 0.06);
    }

    .cmp-cross-ring {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid rgba(239, 68, 68, 1);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      background: rgba(239, 68, 68, 0.05);
    }

    .cmp-cross-ring svg {
      width: 10px;
      height: 10px;
      stroke: rgba(239, 68, 68, 1);
    }

    .cmp-legacy-text {
      font-size: 1rem;
      color: var(--text-muted);
      font-style: italic;
      line-height: 1.3;
    }

    /* Divider energy beam */
    .cmp-divider-beam {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 1px;
      background: linear-gradient(180deg, transparent 0%, var(--gold) 40%, var(--gold) 60%, transparent 100%);
      opacity: 0.15;
      pointer-events: none;
    }


    /* ── Comparison: 768px — reduce padding ── */
    @media (max-width: 768px) {
      .cmp-cap {
        padding: 14px 12px;
        gap: 8px;
      }
      .cmp-cap-icon {
        width: 26px;
        height: 26px;
        font-size: 0.75rem;
      }
      .cmp-cap-text {
        font-size: 0.85rem;
      }
      .cmp-crown-cell,
      .cmp-legacy-cell {
        padding: 14px 10px;
        gap: 7px;
      }
      .cmp-crown-text,
      .cmp-legacy-text {
        font-size: 0.85rem;
      }
      .cmp-check-ring,
      .cmp-cross-ring {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
      }
      .cmp-check-ring svg,
      .cmp-cross-ring svg {
        width: 10px;
        height: 10px;
      }
      .cmp-h-cap,
      .cmp-h-crown,
      .cmp-h-legacy {
        padding: 14px 10px;
      }
      .cmp-h-crown-name,
      .cmp-h-legacy-name {
        font-size: 0.85rem;
      }
      .cmp-h-crown-sub,
      .cmp-h-legacy-sub {
        font-size: 0.58rem;
      }
    }

    /* ── Comparison: 580px — tighter, hide icons ── */
    @media (max-width: 580px) {
      .cmp-cap-icon { display: none; }
      .cmp-cap { padding: 12px 10px; }
      .cmp-cap-text { font-size: 0.78rem; }
      .cmp-crown-cell,
      .cmp-legacy-cell { padding: 12px 8px; gap: 5px; }
      .cmp-crown-text,
      .cmp-legacy-text { font-size: 0.78rem; }
      .cmp-h-cap,
      .cmp-h-crown,
      .cmp-h-legacy { padding: 12px 8px; }
      .cmp-h-crown-name,
      .cmp-h-legacy-name { font-size: 0.78rem; }
      .cmp-badge-rec { font-size: 0.48rem; padding: 2px 7px; right: 8px; }
    }

    /* ── Comparison: 420px — card-stack layout, one row per capability ── */
    @media (max-width: 420px) {
      /* Switch from 3-col grid to stacked card layout */
      .cmp-header {
        display: none; /* hide the column headers — labels appear inline */
      }

      .cmp-rows {
        border-radius: 16px;
      }

      .cmp-row {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
        border-bottom: 1px solid var(--border);
      }

      .cmp-cap {
        padding: 12px 14px 8px;
        border-right: none;
        border-bottom: 1px solid var(--border);
        background: var(--bg-2);
      }

      .cmp-cap-text {
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--text-primary);
      }

      /* Cell becomes a 2-row stack: label on top, icon+text row below.
         The ::after label token is given width:100% inside a flex-wrap
         container, forcing it onto its own line above the icon + text
         instead of floating over them as an absolutely-positioned badge. */
      .cmp-crown-cell,
      .cmp-legacy-cell {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 10px 14px;
        gap: 4px 8px;
        border-left: none;
      }

      .cmp-crown-cell::after,
      .cmp-legacy-cell::after {
        order: -1;
        width: 100%;
        font-size: 0.5rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        line-height: 1;
      }

      
      }

      .cmp-crown-text,
      .cmp-legacy-text {
        font-size: 0.8rem;
        line-height: 1.4;
        flex: 1 1 auto;
        min-width: 0;
      }

      .cmp-check-ring,
      .cmp-cross-ring {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
      }

      /* Add a mobile-visible header above the stacked rows */
      .cmp-mobile-header {
        display: flex !important;
      }
  

    /* ── Comparison: 320px — even more compact ── */
    @media (max-width: 340px) {
      .cmp-cap { padding: 10px 12px 7px; }
      .cmp-cap-text { font-size: 0.76rem; }
      .cmp-crown-cell,
      .cmp-legacy-cell { padding: 16px 12px 9px; }
      .cmp-crown-text,
      .cmp-legacy-text { font-size: 0.75rem; }
    }


    /* Mobile-only comparison header (two-col: Vault | Legacy) */
    .cmp-mobile-header {
      display: none;
      grid-template-columns: 1fr 1fr;
      border: 1px solid var(--border);
      border-bottom: none;
      border-radius: 16px 16px 0 0;
      overflow: hidden;
      margin-bottom: 0;
    }

    .cmp-mobile-header-vault {
      padding: 12px 14px;
      background: linear-gradient(135deg, rgba(89,184,134,0.12), rgba(89,184,134,0.04));
      border-right: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .cmp-mobile-header-vault::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--vault-green), transparent);
    }

    .cmp-mobile-header-vault span {
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--vault-green);
    }

    .cmp-mobile-header-legacy {
      padding: 12px 14px;
      background: linear-gradient(135deg, rgba(239,68,68,0.06), transparent);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .cmp-mobile-header-legacy::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(239,68,68,0.6), transparent);
    }

    .cmp-mobile-header-legacy span {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-muted);
    }

    /* At 420px, show the mobile header and adjust rows border */
    @media (max-width: 420px) {
      .cmp-mobile-header {
        display: grid !important;
      }
      .cmp-rows {
        border-radius: 0 0 16px 16px;
      }
    }
.why-orbit-container {
    position: relative;
    width: 100%;
    height: min(200vh, 640px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

/* Laptop: scale the entire orbit to fit within viewport */
@media (max-width: 1600px) and (min-width: 1101px) {
    .why-orbit-container {
        transform-origin: top center;
        /* Scale proportionally based on viewport width */
        transform: scale(min(1, calc(100vw / 1700px)));
        /* height: min(200vh, calc(640px * min(1, calc(100vw / 1700px)))); */
        margin-bottom: calc((1 - min(1, calc(100vw / 1700px))) * -640px * 0.5);
    }
}

@media (max-width: 1200px) and (min-width: 1101px) {
    .why-orbit-container {
        transform: scale(0.72);
        height: calc(640px * 0.72);
        margin-bottom: calc(640px * -0.14);
    }
}

@media (max-width: 1100px) and (min-width: 901px) {
    .why-orbit-container {
        transform: scale(0.62);
        height: calc(640px * 0.62);
        margin-bottom: calc(640px * -0.19);
    }
}

@media (max-width: 900px) {
    .why-orbit-container {
        height: auto;
        transform: none;
        margin-bottom: 0;
        flex-direction: column;
        padding: 2rem 1.5rem;
        gap: 1.5rem;
    }
}

/* SVG orbit lines canvas */
#orbit-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: visible;
}

/* Background ambient glow */
.why-ambient {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.why-ambient::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    background: radial-gradient(ellipse, rgba(107, 168, 212, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    animation: ambient-pulse 5s ease-in-out infinite;
}

@keyframes ambient-pulse {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.6;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.15);
        opacity: 1;
    }
}

/* Central GenQue core */
.orbit-core {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 160px;
    height: 160px;
}

.orbit-core-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

.orbit-core-ring-1 {
    border: 1px solid rgba(63, 156, 114, 0.08);
    animation: orbit-rotate 12s linear infinite;
}

.orbit-core-ring-2 {
    inset: -18px;
    border: 1px solid rgba(63, 156, 114, 0.1);
    animation: orbit-rotate 20s linear infinite reverse;
}

.orbit-core-ring-3 {
    inset: -36px;
    border: 0.5px solid rgba(63, 156, 114, 0.13);
    animation: orbit-rotate 30s linear infinite;
}

@keyframes orbit-rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.orbit-core-inner {
    position: relative;
    z-index: 5;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, var(--emerald) 0%, var(--mint) 70%);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    box-shadow:
        0 0 30px rgba(107, 168, 212, 0.2),
        0 0 80px rgba(107, 168, 212, 0.08),
        inset 0 1px 0 rgba(167, 199, 231, 0.3);
    animation: core-pulse 4s ease-in-out infinite;
}

@keyframes core-pulse {

    0%,
    100% {
        box-shadow: 0 0 30px rgba(63, 156, 114, 0.2), 0 0 80px rgba(63, 156, 114, 0.08), inset 0 1px 0 rgba(63, 156, 114, 0.3);
    }

    50% {
        box-shadow: 0 0 50px rgba(63, 156, 114, 0.4), 0 0 120px rgba(63, 156, 114, 0.15), inset 0 1px 0 rgba(63, 156, 114, 0.5);
    }
}

.orbit-core-logo {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 2px; color: #134c33;
}


.orbit-core-sub {
    font-size: 0.52rem;
    color: var(--blue-light);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.7;
}

[data-theme="light"] .orbit-core-sub {
    color: var(--blue-deep);
}

/* Feature nodes */
.orbit-node {
    position: absolute;
    z-index: 8;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.orbit-node:hover {
    transform: translate(-50%, -50%) scale(1.04) !important;
    z-index: 20;
}

/* Node positions — 6 nodes evenly spread around center */
.orbit-node-1 {
    top: calc(50% - 160px);
    left: calc(50% - 580px);
    transform: translate(-50%, -50%);
}

.orbit-node-2 {
    top: calc(50% - 160px);
    left: calc(50% + 580px);
    transform: translate(-50%, -50%);
}

.orbit-node-3 {
    top: calc(50% + 100px);
    left: calc(50% - 580px);
    transform: translate(-50%, -50%);
}

.orbit-node-4 {
    top: calc(50% + 100px);
    left: calc(50% + 580px);
    transform: translate(-50%, -50%);
}

.orbit-node-5 {
    top: calc(50% - 240px);
    left: calc(50% - 30px);
    transform: translate(-50%, -50%);
}

.orbit-node-6 {
    top: calc(50% + 240px);
    left: calc(50% - 30px);
    transform: translate(-50%, -50%);
}

/* .orbit-node:hover {
      z-index: 20;
    }

    .orbit-node-1:hover {
      transform: translate(-50%, -50%) scale(1.05);
    }

    .orbit-node-2:hover {
      transform: translate(-50%, -50%) scale(1.05);
    }

    .orbit-node-3:hover {
      transform: translate(-50%, -50%) scale(1.05);
    }

    .orbit-node-4:hover {
      transform: translate(-50%, -50%) scale(1.05);
    }

    .orbit-node-5:hover {
      transform: translate(-50%, -50%) scale(1.05);
    }

    .orbit-node-6:hover {
      transform: translate(-50%, -50%) scale(1.05);
    } */

.orbit-node-inner {
    width: 500px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 1.6rem;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(167, 199, 231, 0.12);
    transition: border-color 0.4s, box-shadow 0.4s, background 0.4s;
    position: relative;
    overflow: hidden;
}

[data-theme="light"] .orbit-node-inner {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(43, 95, 143, 0.14);
    box-shadow: 0 8px 32px rgba(43, 95, 143, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.orbit-node-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(167, 199, 231, 0.5), transparent);
    opacity: 0;
    transition: opacity 0.4s;
}

/* .orbit-node:hover .orbit-node-inner {
      border-color: rgba(167, 199, 231, 0.32);
      box-shadow: 0 16px 64px rgba(0, 0, 0, 0.5), 0 0 40px rgba(107, 168, 212, 0.15), inset 0 1px 0 rgba(167, 199, 231, 0.25);
      background: rgba(10, 22, 40, 0.88);
    } */

/* [data-theme="light"] .orbit-node:hover .orbit-node-inner {
      border-color: rgba(43, 95, 143, 0.35);
      box-shadow: 0 16px 64px rgba(43, 95, 143, 0.18), 0 0 40px rgba(107, 168, 212, 0.1);
      background: rgba(255, 255, 255, 0.95);
    }

    .orbit-node:hover .orbit-node-inner::before {
      opacity: 1;
    } */

/* Hover: white border highlight on orbit node inner */
.orbit-node:hover .orbit-node-inner {
    border-color: var(--emerald);
    box-shadow: 0 16px 64px rgba(0, 0, 0, 0.5), 0 0 28px rgba(255, 255, 255, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

[data-theme="light"] .orbit-node:hover .orbit-node-inner {
    border-color: var(--emerald);
    box-shadow: 0 16px 64px rgba(63, 156, 114, 0.18), 0 0 24px rgba(255, 255, 255, 0.3);
}

.orbit-node:hover .orbit-node-inner::before {
    opacity: 1;
}



@keyframes node-pulse {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 10px var(--blue-glow);
    }

    50% {
        transform: scale(1.3);
        box-shadow: 0 0 20px var(--blue-glow), 0 0 40px rgba(107, 168, 212, 0.3);
    }
}

.orbit-node-eyebrow {
    font-size: 0.65rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--blue-mid);
    margin-bottom: 0.45rem;
    font-family: var(--font-display);
}

[data-theme="light"] .orbit-node-eyebrow {
    color: var(--blue-deep);
}

.orbit-node-title {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.6rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.orbit-node-body {
    font-size: 0.95rem;
    color: var(--text-dim);
    line-height: 1.7;

    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s;

}



/* Connection line animations */
.orbit-line {
    stroke: #55b783;
    stroke-width: 1;
    fill: none;
    transition: stroke 0.4s, stroke-width 0.4s;
    stroke-dasharray: 6 6;
    animation: dash-flow 3s linear infinite;
}
[data-theme="light"] .orbit-line {
    stroke: rgb(63 156 114);
  }

@keyframes dash-flow {
    from {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: -24;
    }
}

.orbit-line-active {
    stroke: rgba(63, 156, 114, 0.55);
    stroke-width: 1.5;
    filter: drop-shadow(0 0 6px rgba(63, 156, 114, 0.4));
}

/* Floating particles */
.orbit-particle {
    position: absolute;
    width: 3px;
    height: 3px;
    background: var(--emerald);
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    animation: particle-float var(--dur, 6s) ease-in-out var(--delay, 0s) infinite;
    box-shadow: 0 0 6px var(--border);
}

@keyframes particle-float {
    0% {
        opacity: 0;
        transform: translateY(0) translateX(0) scale(0.5);
    }

    20% {
        opacity: 0.8;
    }

    80% {
        opacity: 0.6;
    }

    100% {
        opacity: 0;
        transform: translateY(calc(var(--ty, -60px))) translateX(calc(var(--tx, 20px))) scale(1);
    }
}

/* Floating orbit animation for nodes */
.orbit-node-1 .orbit-node-inner {
    animation: float-1 6s ease-in-out infinite;
}

.orbit-node-2 .orbit-node-inner {
    animation: float-2 7s ease-in-out infinite;
}

.orbit-node-3 .orbit-node-inner {
    animation: float-3 6.5s ease-in-out infinite;
}

.orbit-node-4 .orbit-node-inner {
    animation: float-4 7.5s ease-in-out infinite;
}

.orbit-node-5 .orbit-node-inner {
    animation: float-5 5.8s ease-in-out infinite;
}

.orbit-node-6 .orbit-node-inner {
    animation: float-6 8s ease-in-out infinite;
}

@keyframes float-1 {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    33% {
        transform: translateY(-8px) translateX(4px);
    }

    66% {
        transform: translateY(-4px) translateX(-3px);
    }
}

@keyframes float-2 {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    33% {
        transform: translateY(-6px) translateX(-5px);
    }

    66% {
        transform: translateY(-10px) translateX(3px);
    }
}

@keyframes float-3 {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    33% {
        transform: translateY(-9px) translateX(3px);
    }

    66% {
        transform: translateY(-5px) translateX(-4px);
    }
}

@keyframes float-4 {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    33% {
        transform: translateY(-7px) translateX(-4px);
    }

    66% {
        transform: translateY(-11px) translateX(5px);
    }
}

@keyframes float-5 {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    33% {
        transform: translateY(-10px) translateX(2px);
    }

    66% {
        transform: translateY(-6px) translateX(-5px);
    }
}

@keyframes float-6 {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    33% {
        transform: translateY(-5px) translateX(-3px);
    }

    66% {
        transform: translateY(-8px) translateX(4px);
    }
}

/* Mobile orbit: stack vertically */
@media (max-width: 900px) {
    .why-orbit-container {
        height: auto;
    }

    .orbit-core,
    .orbit-node {
        position: static;
        transform: none !important;
    }
 .orbit-core-ring{display: none!important;}
    .orbit-core {
        width: 120px;
        height: 120px;
        margin: 0 auto 2rem;
    }

    .orbit-core-inner {
        width: 90px;
        height: 90px;
    }

    .orbit-node-inner {
        width: 100%;
        max-width: 340px;
        margin: 0 auto;
        animation: none !important;
    }

    .orbit-node {
        width: 100%;
    }

    .orbit-node-body {
        max-height: none;
        opacity: 1;
    }

    #orbit-svg {
        display: none;
    }

    .why-orbit-container {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        padding: 2rem 1.5rem;
    }
}

    /* ============================================================
       MASCOT — bottom-right, section-contextual (ported from Genque)
       ============================================================ */
    .mascot-wrapper {
      position: fixed;
      bottom: -10px;
      right: 50px;
      z-index: 10;
      filter: drop-shadow(0 20px 40px rgba(89, 184, 134, 0.35));
      transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .mascot-wrapper.mascot-hidden {
      /* opacity: 0;
      pointer-events: none; */
      transform: translateY(60px) scale(0.8);
    }

    [data-theme="light"] .mascot-wrapper {
      filter: drop-shadow(0 20px 40px rgba(63, 156, 114, 0.22));
    }

    .mascot-wrapper img {
      width: 180px;
      height: auto;
      display: block;
    }

    @keyframes mascot-float {
      0%, 100% { transform: translateY(0) rotate(-2deg); }
      25% { transform: translateY(-14px) rotate(1deg); }
      50% { transform: translateY(-8px) rotate(-1deg); }
      75% { transform: translateY(-18px) rotate(2deg); }
    }

    @keyframes mascot-wave {
      0%, 100% { transform: translateY(0) rotate(-2deg); }
      30% { transform: translateY(-18px) rotate(8deg); }
      60% { transform: translateY(-10px) rotate(-5deg); }
    }

    @keyframes mascot-bounce {
      0%, 100% { transform: translateY(0) scale(1) rotate(-2deg); }
      40% { transform: translateY(-22px) scale(1.05) rotate(2deg); }
      70% { transform: translateY(-8px) scale(0.98) rotate(-1deg); }
    }

    @keyframes mascot-nod {
      0%, 100% { transform: translateY(0) rotateX(0deg) rotate(-2deg); }
      30% { transform: translateY(-6px) rotate(-6deg); }
      60% { transform: translateY(-12px) rotate(4deg); }
    }

    @keyframes mascot-idle-gentle {
      0%, 100% { transform: translateY(0) rotate(-1deg); }
      50% { transform: translateY(-10px) rotate(1deg); }
    }

  
    .mascot-wrapper.mascot-section-idle { animation: none; }

    /* Higher-priority variants (match Genque's later override block) */
   

    .mascot-bubble {
      position: absolute;
      top: -60px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--bg-2);
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 0.6rem 1rem;
      font-size: 0.78rem;
      color: var(--vault-green);
      white-space: nowrap;
      font-family: 'Syne', sans-serif;
      font-weight: 600;
      backdrop-filter: blur(12px);
      box-shadow: 0 8px 24px var(--glow);
      animation: bubble-pop 3s ease-in-out infinite;
    }

    .mascot-bubble::after {
      content: '';
      position: absolute;
      bottom: -7px;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-top: 7px solid var(--border);
    }

    .mascot-bubble[data-msg]::before { content: none; }

    @keyframes bubble-pop {
      0%, 80%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
      40% { transform: translateX(-50%) scale(1.04); }
    }

    @media (prefers-reduced-motion: reduce) {
      .mascot-section-wave, .mascot-section-bounce, .mascot-section-nod, .mascot-section-idle {
        animation: none !important;
      }
    }

    @media (max-width: 640px) {
      .mascot-wrapper { right: 20px; }
      .mascot-wrapper img { width: 130px; }
    }

    /* ============================================================
       MASCOT ENTRY OVERLAY — shown once, right after the loader
       ============================================================ */
    #mascot-entry-overlay {
      position: fixed;
      inset: 0;
      z-index: 9500;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(5, 5, 5, 0.65);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      padding: 2rem 1rem;
    }

    [data-theme="light"] #mascot-entry-overlay {
      background: rgba(247, 250, 248, 0.65);
    }

    #mascot-entry-stage {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      position: relative;
      z-index: 9501;
      opacity: 0;
      transform: translateY(24px) scale(0.93);
      will-change: transform, opacity;
      max-height: calc(100vh - 3rem);
      justify-content: center bottom;
    }

    #mascot-entry-bubble {
      position: relative;
      width: clamp(320px, 44vw, 450px);
      padding: 2rem 1.7rem 2rem;
      background: rgba(255, 255, 255, 0.10);
      backdrop-filter: blur(28px) saturate(1.8);
      -webkit-backdrop-filter: blur(28px) saturate(1.8);
      border: 1px solid var(--border-hover);
      border-radius: 50px;
      box-shadow: 0 10px 44px rgba(89, 184, 134, 0.28), 0 0 0 1px rgba(89, 184, 134, 0.14) inset;
      opacity: 0;
      transform: translateY(10px) scale(0.90);
      will-change: transform, opacity;
      animation: meb-float 3.6s ease-in-out infinite;
      animation-play-state: paused;
      z-index: 9503;
    }

    [data-theme="light"] #mascot-entry-bubble {
      background: rgba(255, 255, 255, 0.92);
      border-color: rgba(63, 156, 114, 0.30);
      box-shadow: 0 10px 44px rgba(63, 156, 114, 0.18), 0 0 0 1px rgba(255, 255, 255, 0.95) inset;
    }

    #mascot-entry-bubble-text {
      font-family: 'Inter', sans-serif;
      font-size: clamp(1rem, 1.8vw, 1.1rem);
      font-weight: 600;
      color: var(--text-primary);
      line-height: 1.65;
      text-align: center;
      margin: 0;
      position: relative;
      z-index: 1;
    }

    .meb-cloud-bumps {
      position: absolute;
      bottom: -13px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 4px;
      z-index: 4;
    }

    .meb-cloud-bumps span {
      display: block;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.10);
      backdrop-filter: blur(28px);
      -webkit-backdrop-filter: blur(28px);
      border: 1px solid var(--border);
      box-shadow: 0 4px 16px rgba(89, 184, 134, 0.12);
    }

    [data-theme="light"] .meb-cloud-bumps span {
      background: rgba(255, 255, 255, 0.78);
      border-color: rgba(63, 156, 114, 0.22);
    }

    .meb-tail-row {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      margin-top: 10px;
      margin-bottom: 6px;
      z-index: 2;
    }

    .meb-tail-dot {
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.10);
      backdrop-filter: blur(28px);
      -webkit-backdrop-filter: blur(28px);
      border: 1px solid var(--border);
      box-shadow: 0 3px 10px rgba(89, 184, 134, 0.10);
    }

    [data-theme="light"] .meb-tail-dot {
      background: rgba(255, 255, 255, 0.72);
      border-color: rgba(63, 156, 114, 0.20);
    }

    .meb-tail-1 { width: 14px; height: 14px; }
    .meb-tail-2 { width: 9px; height: 9px; }

    #mascot-entry-figure {
      position: relative;
      z-index: 9502;
      display: block;
      animation: meb-mascot-float 3.6s ease-in-out infinite;
      animation-play-state: paused;
    }

    #mascot-video-shell {
      position: relative;
      display: block;
      width: clamp(320px, 32vw, 480px);
      aspect-ratio: 3 / 4;
      overflow: hidden;
      border-radius: 0;
      background: transparent;
      isolation: isolate;
      filter: drop-shadow(0 28px 56px rgba(89, 184, 134, 0.32));
    }

    #mascot-entry-gif {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      pointer-events: none;
      mix-blend-mode: screen;
    }

    @keyframes meb-float {
      0%, 100% { transform: translateY(0) scale(1); }
      48% { transform: translateY(-9px) scale(1.006); }
    }

    @keyframes meb-mascot-float {
      0%, 100% { transform: translateY(0); }
      48% { transform: translateY(-9px); }
    }

    @media (max-width: 900px) {
      #mascot-video-shell { width: clamp(260px, 52vmin, 380px); }
      #mascot-entry-bubble { width: clamp(240px, 70vw, 360px); }
    }

    @media (max-width: 520px) {
      #mascot-video-shell { width: clamp(220px, 68vw, 300px); }
      #mascot-entry-bubble { width: clamp(200px, 82vw, 300px); padding: 1rem 1.2rem 1.8rem; }
      #mascot-entry-bubble-text { font-size: 0.88rem; }
    }

    @media (prefers-reduced-motion: reduce) {
      #mascot-entry-bubble, #mascot-entry-figure { animation: none !important; }
    }
  
   
    /* Floating Container */
    .chat-widget {
      /* position: fixed;
      bottom: 130px;
      right: 60px;
      z-index: 1000; */
      display: flex;
      flex-direction: column;
      align-items: flex-end;
    }
    .chat-widget .chat-toggle{opacity: 0;}

    /* Chat Window */
    .chat-widget .chat-window {
      width: 350px;
      height: 480px;
      background-color: #ffffff;
      border-radius: 16px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
      margin-bottom: 16px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: fixed;
    right: 60px;
    bottom: 135px;
    z-index: 9;
      
      /* Hidden State Animation */
      opacity: 0;
      visibility: hidden;
      transform: translateY(20px) scale(0.95);
      transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
      transform-origin: bottom right;
    }

    /* Open State */
    .chat-widget .chat-toggle:checked ~ .chat-window {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
    }

    /* Header */
   /* Header Layout Update */
.chat-widget .chat-header {
  background-color: var(--vault-green);
  color: #ffffff;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between; /* Pushes the close button to the far right */
  gap: 12px;
}

/* Group avatar and title together on the left */
.chat-widget .chat-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

   .chat-widget .avatar-status {
      position: relative;
    }

   .chat-widget .avatar {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: #ffffff;
      color: var(--vault-green);
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 14px;
    }

    .chat-widget .online-indicator {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 10px;
      height: 10px;
      background-color: #22c55e;
      border: 1px solid #000;
      border-radius: 50%;
    }

    .chat-widget .chat-header-info h4 {
      font-size: 15px;
      font-weight: 600;
    }

    .chat-widget .chat-header-info p {
      font-size: 12px;
      opacity: 0.85;
      color: #fff;
    }
    /* Header Close Button Styling */
.chat-widget .chat-header-close {
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-radius: 4px;
  opacity: 0.8;
  transition: opacity 0.2s, background-color 0.2s;
}

.chat-widget .chat-header-close:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.15);
}

    /* Message Body */
    .chat-widget .chat-body {
      flex: 1;
      padding: 16px;
      overflow-y: auto;
      background-color: #f8fafc;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .chat-widget .message {
      max-width: 80%;
      padding: 10px 14px;
      border-radius: 12px;
      font-size: 14px;
      line-height: 1.4;
    }

    .chat-widget .message.received {
      background-color: #ffffff;
      color: #1e293b;
      align-self: flex-start;
      border-bottom-left-radius: 2px;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); 
      position: relative; padding-right: 50px;
    }
    .chat-widget .message.received img {
      position: absolute; right: 0; bottom: -20px;
    }

    .chat-widget .message.sent {
      background-color: var(--mint);
      color: #000;
      align-self: flex-end;
      border-bottom-right-radius: 2px;
    }

    /* Footer Input Area */
    .chat-widget .chat-footer {
      padding: 12px 16px;
      background-color: #ffffff;
      border-top: 1px solid #e2e8f0;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .chat-widget .chat-footer input {
      flex: 1;
      border: 1px solid #cbd5e1;
      border-radius: 20px;
      padding: 10px 14px;
      font-size: 14px;
      outline: none;
      transition: border-color 0.2s;
    }

    .chat-widget .chat-footer input:focus {
      border-color: #000;
    }

   .chat-widget button {
      background: none;
      border: none;
      color: #25537d;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 6px;
      border-radius: 50%;
      transition: background-color 0.2s;
    }

    .chat-widget .send-btn:hover {
      background-color: #f1f5f9;
    }
    .chat-widget .chat-button{cursor: pointer; position: fixed;
      bottom: 130px;
      right: 60px;
      z-index: 1000;}
      .chat-widget .mic-btn.recording{
        border: 1px solid red; color: red;
      }

    /* Mobile: keep the window fully on-screen instead of overflowing past the edge */
    @media (max-width: 480px) {
        .chat-widget {
            right: 12px;
            left: 12px;
            bottom: 100px;
            align-items: stretch;
        }
        .chat-widget .chat-window {
            width: 85%;
            height: min(65vh, 480px); right: 20px; bottom: 80px;
        }
        .chat-widget .chat-button {
            align-self: flex-end;
        }
        .chat-widget .chat-footer{display: block;}
        .chat-widget .chat-footer input{display: block; width: 100%;}
    }

    .chat-widget .chat-toggle:checked ~ .chat-button .mascot-bubble {
      display: none;
    }

    @media (max-width: 480px){
        .chat-widget .chat-button .mascot-bubble {
            display: none;
        }
    }

    .chat-input-container{
    flex:1;
    display:flex;
    align-items:center;
}

 .chat-widget .recording-status{
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    background:#f5f5f5;
    border-radius:10px;
    font-size:14px;
    color:#444;
}

 .chat-widget .record-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#ff3b30;
    animation:pulse 1s infinite;
}

@keyframes pulse{
    0%{opacity:1;}
    50%{opacity:.3;}
    100%{opacity:1;}
}
 
 .chat-widget .play-btn {
  position: absolute;
  top: 10px;
  right: 10px;

  width: 32px;
  height: 32px;

  border: none;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #e5e5e5;
  cursor: pointer; 
}

 .chat-widget .play-btn:hover {
  background: #e5e5e5;
}